我有此查詢JOIN,的MySQL WITH CASE
SELECT
table1.*,
CASE 1
WHEN 1 THEN table2.t2
WHEN 2 THEN table3.t3
END AS t_value
FROM table1
CASE 1
WHEN 1 THEN LEFT JOIN table2 ON table1.id = table2.table1_id
WHEN 2 THEN LEFT JOIN table3 ON table1.id = table3.table1_id
END
我有3個不同的表,表1是在基臺和我需要加入其他表中的一個(其決定與的情況下)
將2個SELECT和2個結果集合在一起會更容易嗎? –
不,工會的結果可能不是他正在尋找,但我看到這裏使用動態查詢。即根據條件存儲你的表名加入變量,並在加入時使用該變量。 – Rahul
您正在將'table1'加入'table1',所以當條件1爲真時,您有:'SELECT table1。*,table2.t2 FROM table1 LEFT JOIN table1 table2 ON table1.id = table2.table1_id'。所以看起來你正在用'table2'或'table3'的別名加入'table1'。那是你的意思嗎? – Tony