我的服务器上有5.1 MySQL版本。我正在尝试执行此查询:
SELECT File_Name
FROM Words_DB
WHERE Word_Name=" . $element . "
EXCEPT
SELECT File_Name
FROM Files_DB
WHERE Display=0
我收到错误:
错误:您的SQL语法出错;查看与MySQL服务器版本对应的手册,以便在第4行“EXCEPT SELECT File_Name FROM Files_DB WHERE Display = 0”附近使用正确的语法
有人可以告诉我如何以其他形式执行此查询?
谢谢你,Max。
答案 0 :(得分:4)
据我所知,MySQL不支持EXCEPT
运算符。试试这个:
SELECT File_Name
FROM Words_DB
WHERE Word_Name=" . $element . "
AND File_Name NOT IN (
SELECT File_Name
FROM Files_DB
WHERE Display=0
)
您还可以使用相关的NOT EXISTS
或LEFT JOIN
。由于我不使用MySQL,我不能说哪个表现最好。
答案 1 :(得分:-2)
我认为您可以在以下网站上找到更好的答案: http://www.tutorialspoint.com/sql/sql-except-clause.htm
它说你可以使用除了查询。但是你也可以使用JPW提供的答案代替使用,除了你可以使用NOT IN关键字,它以相同的方式工作。