我正在試圖根據查詢結果計算一個表中的記錄。我的表如下所示:SQL根據查詢結果加入以加入算數
parent_id | site_id | description
-----------------------------------
A1 1 FL
A1 2 NJ
A1 A1 Company_A
首先,我創建了一個查詢,爲我在與狀態(說明)相同的行上提供公司名稱。我最初的查詢是:
SELECT master.description, sites.description, sites.site_id
FROM sites sites
INNER JOIN sites master
ON sites.parent_id = master.site_id
,這導致:
Company_A FL 1
Company_A DE 2
到目前爲止好。我想要做什麼,雖然是從訂單表中的每個SITE_ID計算的訂單數量,即使在訂單數量爲0
我難倒如何從數ORDERS表根據我的查詢結果?任何幫助這個加入將不勝感激。
更新:幾乎在那裏!這裏是正在工作:
SELECT master.description, sites.description, count(order_id) orderCount
FROM sites sites
INNER JOIN sites master
ON sites.parent_id = master.site_id
LEFT JOIN orders o
ON sites.site_id = o.site_id
WHERE sites.site_type = 3
GROUP BY master.description, sites.description, sites.site_id
ORDER BY master.description
我留下的唯一問題是,如果我添加日期範圍內我得到正確的結果,但任何網站以零個訂單那段不顯示。所以,如果我添加:
WHERE sites.site_type = 3 AND o.order_date > '2015-10'
我得到正確的結果,但只有在該期間有訂單的網站。我錯過了什麼?
能否請您添加描述(或優選地,DDL)猜測? – Mureinik