看板 Database 關於我們 聯絡資訊
用巢狀方式即可. SELECT id FROM (SELECT id FROM a WHERE condition_1) AS TA WHERE id NOT IN (SELECT id FROM b WHERE condition_2); 而且可能速度還會比你預想中的快, 並不會太慢. ※ 引述《eliang ()》之銘言: : 我想做下面事情: : SELECT id FROM a WHERE condition_1 : MINUS : SELECT id FROM b WHERE condition_2 : (假設兩次 SELECT 的結果各自都不重複) : 也就是第一個 SELECT 的結果, : 減去第二個 SELECT 的結果, : 但是 MySQL 不支援 MINUS 運算子, : 我試著在網路上找答案, : 但只找到沒有 WHERE 的解法, 如: : SELECT id FROM a : MINUS : SELECT id FROM b : 可改寫成: : SELECT a.id : FROM a LEFT JOIN b ON a.id=b.id : WHERE b.id IS NULL : 我嘗試把原先的條件式加上去: : SELECT a.id : FROM a LEFT JOIN b ON a.id=b.id : WHERE condition_1 AND condition_2 AND b.id IS NULL : 結果是錯的, : 想請問如果兩個 SELECT 後面都有 WHERE 子句, : 應該如何改寫呢? 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.74.253.114
eliang:謝謝! 11/07 15:51