如果两列的值相等,如何从 mysql 表中删除所有行
示例表
invoice_id| item_id | name | invoiced_qty | received_qty
---------------------------------------------------------
| 1 | 1 | item1 | 3 | 2
| 2 | 2 | item2 | 5 | 5
| 3 | 1 | item3 | 4 | 3
| 4 | 2 | item4 | 2 | 2
| 5 | 1 | item5 | 5 | 5
删除表后需要保留
invoice_id| item_id | name | invoiced_qty | received_qty
---------------------------------------------------------
| 1 | 1 | item1 | 3 | 2
| 3 | 1 | item3 | 4 | 3
我创建的选择查询是
SELECT * FROM table1 A
INNER JOIN table1 B ON A.item_id = B.item_id
AND A.invoice_id = B.invoice_id
AND A.invoiced_qty = B.received_qty
谢谢
最佳答案
为什么不只是 SQL Fiddle :
DELETE FROM table1
WHERE invoiced_qty = received_qty
您的编辑不会改变任何内容。他是SQL Fiddle演示您的 SELECT 查询。根据您的示例数据,A.invoice_id
永远不会等于B.invoice_id
。所以你不会得到任何结果。
关于php - 如果两列相等则 MySQL 查询删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24452693/