Mysql SQL查询,不在返回错误
大家好,我有点小问题。所以我有两张桌子,电话和发票。我试图获取的发票ID不在robot_calls.invoice_ID的ID中。我在where子句中得到一个错误未知列 我不是sql专家,有人能告诉我吗Mysql SQL查询,不在返回错误,mysql,sql,Mysql,Sql,大家好,我有点小问题。所以我有两张桌子,电话和发票。我试图获取的发票ID不在robot_calls.invoice_ID的ID中。我在where子句中得到一个错误未知列 我不是sql专家,有人能告诉我吗 干杯。您可以通过以下方式实现: SELECT * FROM invoices WHERE ID NOT IN ( SELECT invoice_id FROM robot_calls ) 试试这个 SELECT * FROM invoices
干杯。您可以通过以下方式实现:
SELECT *
FROM invoices
WHERE ID NOT IN (
SELECT invoice_id
FROM robot_calls
)
试试这个
SELECT * FROM invoices
WHERE`desc`='Invoice from mr. Robot'
AND ID NOT IN
(SELECT invoice_id FROM robot_calls)
你想要那样的东西吗
SELECT * FROM invoices where `desc`='Invoice from mr. Robot' and invoice_id NOT IN
(SELECT invoice_id FROM robot_calls)
您需要从robot_calls表中选择一个id列来执行此查询:其中invoice_id不在SelectInvoice_id from robot_calls中 此查询的另一种替代方法是使用存在量词:
SELECT *
FROM invoices iv
WHERE NOT EXISTS (SELECT * FROM robot_calls rc WHERE rc.invoice_id=iv.invoice_id)
AND iv.desc='Invoice from mr. Robot'
左联接应适用于以下情况:
SELECT * FROM invoices i
LEFT JOIN robot_calls r ON r.invoice_id=r.id
WHERE i.desc = 'Invoice from mr. Robot'
AND r.invoice_id IS NULL
你不能以这种方式使用not。它应该类似于从tbl1中选择,其中id不在从表2中选择id中。您从发票中选择了两次,但从未从robot_调用中选择……添加一些示例表数据和预期结果。请格式化文本,不要图片。啊!好的,非常感谢!
SELECT * FROM invoices i
LEFT JOIN robot_calls r ON r.invoice_id=r.id
WHERE i.desc = 'Invoice from mr. Robot'
AND r.invoice_id IS NULL