SELECT ID, Name
FROM Members
WHERE ID IN
(SELECT Member ID
FROM Team Member
WHERE Team ID IN
(SELECT ID
FROM Teams
WHERE Year = 2012 AND Country = 'Phillipines'))
当我把这个查询输入到phpmyadmin时,我得到错误#1064,说我没有正确的语法。如何解决这个问题?
4条答案
按热度按时间oewdyzsn1#
直接错误似乎是
WHERE Team ID IN ...
实际上应该是WHERE TeamID IN ...
. 还有其他类似的错误。但是,我们可以尝试使用联接重写您的查询,以便它更具可读性和可维护性:一般来说,sql中的标识符必须是一个没有空格的单词。如果
Team ID
实际上是一个列名,那么您必须在mysql中使用backticks引用它。但是,你应该避免这样做。jyztefdp2#
你的table
Team Member
及其列Member ID
以及Team ID
可能是说错了。6ie5vjzr3#
我认为您使用了错误的变量名(memberid),它在member和id之间不应该有空格。请确保列名和表名使用正确的名称。
fcy6dtqo4#
你可以在下面使用join进行尝试