我工作的一個查詢加入工會結果外查詢與和這樣的它是一個很好的做法在MySQL
SELECT a.c1, a.c2, b.c3, b.c4
FROM table4 AS a
LEFT JOIN ((
SELECT c1, c2 FROM table1 LEFT JOIN table2 ... something
) UNION ALL (
SELECT c3, c4 FROM table1 LEFT JOIN table3 ... something
)) AS b
ON a.key = b.key
WHERE a.key ... something
ORDER BY a.key
,因爲我想這工作完全並沒有太大執行的解決方案上來使用時間。但是,我覺得有一個奇怪的結果是UNION
子句在另一個SELECT
和JOIN
與查詢中的另一個表編輯。
所以我的問題是:這是一個很好的做法,使用這樣的查詢。或者我應該找到更好的解決方案?
我會先放'table4'並使用'left join'(一個首選項)並嘗試使用'union all'而不是'union'。我們無法決定這是否適合您。 –
謝謝@GordonLinoff。我之所以把table4放在後面,只是因爲我先寫了UNION。也許我應該改變。 - 聯盟似乎是一個好主意,我之前沒有聽說過。相應編輯問題。 – anuith