我正在尝试建立一个查询,将返回所有行,不像一个查询。
我就是不能让它工作。
查询为:
SELECT *
FROM EmailHistory
WHERE Subject not like
(
SELECT Date, Subject, Sender, Checks.Check FROM EmailHistory JOIN Checks ON EmailHistory.Subject LIKE CONCAT( '%', Checks.Check, '%' )
)
所以我想从EmailHistory中获取所有行,而我在运行
时没有得到SELECT Date, Subject, Sender, Checks.Check FROM EmailHistory JOIN Checks ON EmailHistory.Subject LIKE CONCAT( '%', Checks.Check, '%' )
当我尝试运行查询时,我得到以下错误:#1241 -操作数应包含1列
查询
SELECT Date, Subject, Sender, Checks.Check FROM EmailHistory JOIN Checks ON EmailHistory.Subject LIKE CONCAT( '%', Checks.Check, '%' )
工作,因为它应该,我得到所有查询的查询,其中主题匹配字段,我从表Checks
检查。
不能使用LIKE来匹配表。嵌套查询返回一个包含多列的表。
您正在尝试将列'Subject'与表匹配。
您需要的查询是:
SELECT *
FROM EmailHistory
WHERE Subject NOT IN
(
SELECT Subject FROM EmailHistory JOIN Checks ON EmailHistory.Subject LIKE CONCAT( '%', Checks.Check, '%' )
)