我正在尝试构建一个查询,该查询将返回与查询不同的所有行。
我无法让它发挥作用。
查询是:
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
中检查的字段匹配的所有查询。
答案 0 :(得分:0)
您无法使用LIKE与表格匹配。嵌套查询返回一个包含多列的表。
您正尝试将“主题”列与表格匹配。
您需要的查询是:
SELECT *
FROM EmailHistory
WHERE Subject NOT IN
(
SELECT Subject FROM EmailHistory JOIN Checks ON EmailHistory.Subject LIKE CONCAT( '%', Checks.Check, '%' )
)