我又來了另一個問題/問題。我知道這個主題的標題可能和其他人一樣,但我注意到他們還有其他問題。SQL LEFT JOIN問題 - 錯誤結果
我有一個SQL LEFT JOIN的問題。我正在使用MySQL。
我想要一個表格,其中TYPES將會持續六個月並計算一個月(這可能看起來很奇怪,但我需要它來達到某種目的)。
我有兩個查詢(我會顯示查詢和輸出,它會更具體)。
首先查詢六個月:
SELECT objectsoort AS types, COUNT(objectsoort) AS total, prijs AS price, SUM(prijs)/ SUM(oppervlakte) AS meters
FROM `huislijn`
WHERE <clause statements>
GROUP BY objectsoort
而且我得到結果是這樣的:
Six_months http://i56.tinypic.com/14ag1zs.png
第二個查詢是一個月:
SELECT objectsoort AS types1, COUNT(objectsoort) AS total1, AVG(prijs) AS price1, SUM(prijs)/ SUM(oppervlakte) AS meters1
FROM `huislijn`
WHERE <clause statements>
GROUP BY objectsoort
然後我得到如下結果:
One month http://i53.tinypic.com/i20haa.png
我想讓他們爲一體,使我使用LEFT JOIN並獲得查詢這樣的:
SELECT a.types1, b.total1, b.price1, b.meters1
FROM (SELECT objectsoort AS types1
FROM `huislijn`
WHERE <clause statements>) a
LEFT JOIN
(SELECT objectsoort AS types12, COUNT(objectsoort) AS total1, AVG(prijs) AS price1, SUM(prijs)/SUM(oppervlakte) AS meters1
FROM `huislijn`
WHERE <clause statements>) b
ON a.types1 = b.types12
GROUP BY types1
但結果不是我所期望的,因爲應該有接近「公寓」的一些結果和「woning」的結果是不一樣的查詢一個月:
both in one http://i54.tinypic.com/20qcj8w.png
我再說一遍,這將是更清楚:我想類型的6個蒙的hs和一個月的計算。在這種情況下,這意味着結果應該接近'appartement'和'woning'。
所以,我想知道,也許我做錯了什麼。
感謝您的幫助和支持。
OMG。我發現問題在哪裏。謝謝! 現在都很好。 ;) – Gereby
我的意思是在第三個查詢中,對不起。連接表查詢與您的第二個查詢(缺少group by子句)不同。 – Jacob
請與我們分享您的問題+解決方案。如果合適,回答你自己的問題並接受答案。 :) –