我嘗試在mysql連接中建立一個條件'on子句'。mysql - 在mysql連接條件'on子句'
如果field1不爲空,則應在'on claus' 中使用,但如果爲空,則應使用field2。
SELECT * FROM table1
JOIN table2
IF (field1!='') THEN (
ON table1.field1 = table2.field1
AND table1.field3 = table2.field3
)
ELSE (
ON table1.field2 = table2.field2
AND table1.field3 = table2.field3
)
END IF
任何想法,如果這是可能的如何可以完成?
編輯: 我忘了解釋這兩個表都包含空字段,我試圖防止mysql使用這些字段進行連接,因爲這給出了非常多的連接,所以我的想法應該更像這樣:
SELECT * FROM table1
JOIN table2
IF (table1.field1!='' AND table2.field1!='') THEN (
ON table1.field1 = table2.field1
AND table1.field3 = table2.field3
)
ELSE (
ON table1.field2 = table2.field2
AND table1.field3 = table2.field3
)
END IF
條件應放置在where子句中,是對的嗎? – user3304232 2014-10-04 14:22:20
在選擇。我編輯我的答案 – ericpap 2014-10-04 14:44:03
目前我在'on子句'中獲得「未知列't2.Field1'」 – user3304232 2014-10-04 15:05:57