【问题标题】:sql statement not giving desired resultssql语句没有给出想要的结果
【发布时间】:2014-01-31 11:12:16
【问题描述】:

我有一个名为 results 的表,其中包含大约 600 条以前的运动成绩记录。列包括主队、客队、主队得分、客队得分等。

我试图在表格上运行查询以返回特定球队的主客场比赛结果。

我是这样做的:

SELECT * FROM `results` WHERE `hometeam` || `awayteam` = "Sharks" 

问题是上面的查询只返回鲨鱼队在客场比赛时的结果。 如下图所示:

我正在寻找一种可以同时返回主场和客场比赛的方式如果有人能指出我正确的方向,我将不胜感激。 提前致谢。

【问题讨论】:

  • 下面的答案应该可以解决您的问题,但我想补充一点,您应该将您的团队存储在单独的表中。 :)
  • @ElendilTheTall 我也在修复同样的问题,但如果我的主要目标是只检索结果,它是否仍然有必要 - 并且希望它会给我的数据库结构带来好处......谢谢跨度>
  • SELECT * FROM results WHERE hometeam = "Sharks" || awayteam = "鲨鱼"
  • @user2955598 它增加了灵活性。如果您将来想更改团队名称,或者添加他们的城镇怎么办?如果您想添加团队信息并将它们链接到团队怎么办?如果它们只是结果表中的字段,那么您将遇到问题。在他们自己的桌子上,这是轻而易举的事。
  • 你原来写的查询相当于查询SELECT * FROM results WHERE hometeam = TRUE || awayteam = "Sharks"

标签: php mysql sql


【解决方案1】:

你不能像那样结合你的条件。试试这个:

SELECT * FROM `results` WHERE `hometeam` = "Sharks" || `awayteam` = "Sharks"

【讨论】:

  • @user2955598 如果这个答案有帮助,你能把它标记为答案吗?
  • 其实你CAN 是这样的几个条件,只是hometeam 被视为布尔值:)
【解决方案2】:

试试这个:

SELECT * FROM `results` WHERE `hometeam`= "Sharks" || `awayteam` = "Sharks" 

【讨论】:

    【解决方案3】:
    SELECT * FROM `results` WHERE (`hometeam` = "Sharks") || (`awayteam` = "Sharks")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-17
      • 1970-01-01
      • 1970-01-01
      • 2021-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-26
      相关资源
      最近更新 更多