我需要根据table2中的值删除table1中的同一行。
我试过了:
DELETE FROM project.wish_list
USING project.wish_list
INNER JOIN project.book ON project.wish_list.quantity = project.book.quantity
WHERE (project.wish_list.quantity = 0);
如果表quantity = 0
中有book
,则查询应删除wish_list
中的行(等于isbn)。
wish_list
和book
是类似的表格。
有可能吗?
或wish_list
quantity
中book
表中ISBN title
-------------------
123 Apples <----- delete
123 Apples <----- delete
123 Apples <----- One only has to remain
1234 Pineapple <----- NO DELETE
为0的所有isbn的数量更新为-1?
编辑:删除重复的ISBN等于
{{1}}
答案 0 :(得分:3)
这个问题不太清楚。听起来像是:删除wish_list
表中数量为0的图书的所有book
条目?
DELETE FROM wish_list
WHERE isbn IN ( SELECT isbn
FROM book
WHERE quantity = 0 );
或更新:
UPDATE wish_list
SET quantity = -1
WHERE isbn IN ( SELECT isbn
FROM book
WHERE quantity = 0 );
更新:从wish_list
删除重复项(无论数量多少)。请测试,我没有:
DELETE FROM wish_list
WHERE ROWID NOT IN (SELECT MIN(ROWID) FROM wish_list GROUP BY isbn);
答案 1 :(得分:0)
对不起,我回答了错误的问题。