我有 3 張桌子。Debiti、Eventi 和 Parametri。在我的 Debiti 表中,我有 id_evento 和 id_parametro 欄位。當 id_evento 欄位大于零時,我需要與 Eventi 表進行連接。當 id_parametro 欄位大于零時,我需要與 Parametri 表進行聯接。id_event 和 id_parametro 欄位永遠不會同時大于零。我想我需要使用 IF 或類似的東西。我想知道是否有人可以幫助我解決這個問題。
SELECT debiti.*, eventi.*, parametri.*
FROM debiti
INNER JOIN parametri ON debiti.id_parametro = parametri.id_parametro
INNER JOIN eventi ON debiti.id_evento = eventi.id_evento
執行此查詢時,只有一個連接有效。
簡而言之,我需要那個
如果 id_evento > 0 則加入 Debiti 和 Eventi。如果 id_parametro > 0 然后加入 Debiti 和 Parametri
謝謝你。

uj5u.com熱心網友回復:
你應該使用左連接:
SELECT debiti.*, eventi.*, parametri.*
FROM debiti
LEFT JOIN parametri ON debiti.id_parametro = parametri.id_parametro
LEFT JOIN eventi ON debiti.id_evento = eventi.id_evento
并且可以選擇添加對 id >0 的檢查(但是當 `parameteri' 或 'eventi' 中沒有 0 值時,不應更改輸出):
SELECT debiti.*, eventi.*, parametri.*
FROM debiti
LEFT JOIN parametri ON debiti.id_parametro>0 AND debiti.id_parametro = parametri.id_parametro
LEFT JOIN eventi ON debiti.id_evento>0 AND debiti.id_evento = eventi.id_evento
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/510800.html
標籤:sql加入
