【发布时间】:2016-05-25 13:57:39
【问题描述】:
我有一个包含 10k+ 行的足球数据库。我的目标是通过他的 id 选择一名球员,并获得所有其他在同一联赛或俱乐部或具有相同国籍的球员。 到目前为止,我的查询如下:
SELECT *
FROM `characteristics`
WHERE `nation` = (SELECT `nation`
FROM `characteristics`
WHERE `id` = "1")
OR `club` = (SELECT `club`
FROM `characteristics`
WHERE `id` = "1")
OR `league` = (SELECT `league`
FROM `characteristics`
WHERE `id` = "1")
我认为查询没有按预期工作,因为它将返回 1434 行。例如:Nation = Argentina、League = BBVA、Club = FC Barcelona 将一起返回大约 1500 多行的内容。
也许你们可以帮我解决这个子查询。
另一个问题是 ZF2 中的子查询语法。我在 stackoverflow 上找到了一些东西,但我不知道把东西放在哪里的语法。
编辑:数据库数据示例
id firstname lastname age height nation club league
1 Lionel Messi 28 170 cm Argentina FC Barcelona Liga BBVA
【问题讨论】:
-
characteristics是你的玩家桌吗?你能显示一些数据吗? -
是的,它是表的名称。数据编辑示例。
-
你有重复吗?您可以尝试将
DISTINCT添加到您的查询中...
标签: mysql sql select zend-framework2 subquery