我有三個MySQL查詢需要使用連接組合成單個查詢。我很難找出如何做到這一點。這是三個查詢。如何組合這三個查詢?
select
sum(A.a)
from A join B
on A.BID = B.id
where B.userID=userID
select
sum(C.c)
from D left join (C)
on (D.id=C.DID)
where D.userID = userID
select sum(E.e) from E where E.userID=userID
我需要以某種所有這些查詢合併成一個單一的查詢與用戶表連接給我sum(A.a)+sum(C.C)+sum(E.e)
每個user.id.我嘗試了所有牌桌上的左連接
user left join (A, B, C, D, E)
on ((A.BID = B.id and B.userID=user.id)
or (D.id=C.DID and D.userID = user.id)
or (E.userID=user.id))
這在黑暗中幾乎是一個鏡頭,它失敗的壯觀。我不知道如何結合這三個查詢,任何人都給我一個提示?
編輯澄清:我需要此查詢是用戶表與上述查詢的聯接,因爲我需要能夠選擇由sum_value排序的所有用戶ID。先前的三個查詢分別運行,並用一個用戶ID參數化。
進一步編輯:試圖聯合所有加入到用戶查詢我可以認爲它的每個變種,它不起作用。它非常接近於一些調整,但它仍然返回不正確的值。我不確定它爲什麼這樣做。
這不起作用 - 請參閱編輯。 – 2010-08-15 07:09:40
這當然有效 - 更新 – 2010-08-15 07:34:01
賓果!謝謝@CooL i3oY :)甚至不需要加入......就是在完全錯誤的樹上吠叫。 – 2010-08-15 07:45:31