這裏的東西,我有表像這樣LEFT JOIN 3次相同的表上的3倍條件的倍數導致
第一個
ID1 ID2 ID3
二
ID1 ID2 ID3 month, value
我需要的是爲這3個ID的每個組合獲得三個月的值,並且我這樣去了:
SELECT a.ID1, a.ID2, a.ID3, b.value, c.value, d.value
FROM Table1 a
LEFT JOIN Table2 b
ON a.ID1 = b.ID1
AND a.ID2 = b.ID2
AND a.ID3 = b.ID3
WHERE month=2
LEFT JOIN Table2 c
ON a.ID1 = c.ID1
AND a.ID2 = c.ID2
AND a.ID3 = c.ID3
WHERE month=3
LEFT JOIN Table2 d
ON a.ID1 = d.ID1
AND a.ID2 = d.ID2
AND a.ID3 = d.ID3
WHERE month=4
而且我得到的值相乘。
任何想法爲什麼這種情況下,或任何其他方法的建議?
謝謝。
在我看來,你根本不需要'table1'來滿足這個查詢,因爲輸出中的所有信息也都在'table2'中。 – 2012-02-22 21:10:03
表1包含應計算結果的所有必需行,即使表2中沒有值。 – 2012-02-22 21:16:39
好的,我看到了,我已更新我的答案 – 2012-02-22 21:19:54