我從表中使用以下查詢選擇交易:如果子查詢沒有找到聯結,如何忽略WHERE IN子句?
SELECT t.*
FROM transactions AS t
WHERE t.id IN
(
SELECT t2.id
FROM `virtual_account-account` AS vaa
LEFT JOIN transactions AS t2
ON t2.account = vaa.account
WHERE vaa.virtual_account = 3
)
AND t.id IN
(
SELECT tt.transaction
FROM `virtual_account-tag` AS vat
LEFT JOIN `transaction-tag` AS tt
ON tt.tag = vat.tag
WHERE vat.virtual_account = 3
)
ORDER BY t.date
不過,我想修改該這樣,如果,例如,結合表virtual_account-account
不包含任何路口,其中vaa.virtual_account = 3
,然後應該忽略相應的t.id IN (...)
條件。到目前爲止,我沒有找到解決方案,所以任何幫助將不勝感激。
怎麼樣,如果兩個子選擇返回任何結果?你想顯示所有交易還是僅顯示所有交易? –
@FabianBigler其實,我不太在意這種情況,因爲這是不可能發生的。然而,空的結果會比選擇所有交易更好。 – Niko