我運行的查詢包含相同的子查詢在WHERE
子句中多次使用。在單個查詢中多次使用相同的子查詢
我有一張桌子有兩個字段client_id
,buyer_id
。
子查詢返回要從結果中排除的日期列表。
這就是我如何使用它。
SELECT
id, client_id, buyer_id
FROM relation
WHERE
client_id NOT IN (SELECT <some_id> FROM <some_table> WHERE ...)
AND buyer_id NOT IN (SELECT <some_ids> FROM <some_table> WHERE ...)
這是按預期工作,但有什麼困擾我,有兩個相同的子查詢。我想知道是否有一種方法可以使用它,並在兩個地方使用結果。
謝謝。形式的
你嘗試用JOIN代替子查詢? – Taryn
@bluefeet,我已經簡化了這個查詢很長的路只是爲了給你真正的問題。另外我無法理解'JOIN'的'ON'子句是怎麼樣的。 –