我正在運行一個查詢來撤回在我們的系統中製作的數據,並將其與單獨的發票表進行比較,該表正在工作。但是,現在我只需要將該總額(卷)僅限於發票數量大於系統中輸入的日期。從同一表中選擇SQL查詢
這裏是我的查詢:
SELECT
MIN(c.created_at) AS date,
c.meta_account_Id,
c.organization_Id,
c.user_id,
c.meta_distributorId,
c.meta_accountName,
CASE
WHEN sum(s.volumece) IS NULL THEN 0
ELSE sum(s.volumece)
END AS ces
FROM [commitments] c
LEFT JOIN [Sales2] s ON c.organization_Id=s.org_id AND
c.meta_account_Id=s.account_id
WHERE c.status='active'
GROUP BY c.meta_account_Id, c.organization_Id, c.user_id,
c.meta_distributorId, c.meta_accountName
這裏是什麼,我認爲它應該看起來像,但顯然不正確:
SELECT
MIN(c.created_at) AS date,
c.meta_account_Id,
c.organization_Id,
c.user_id,
c.meta_distributorId,
c.meta_accountName,
CASE
WHEN sum(s.volumece) IS NULL THEN 0
ELSE (SELECT sum(s.volumece) WHERE s.invoice_date>=c.created_at)
END AS ces
FROM [commitments] c
LEFT JOIN [Sales2] s ON c.organization_Id=s.org_id AND
c.meta_account_Id=s.account_id
WHERE c.status='active'
GROUP BY c.meta_account_Id, c.organization_Id, c.user_id,
c.meta_distributorId, c.meta_accountName
基本上[Sales2]是發票和[承諾的表]是在我們的系統中創建的新發票的表格。通過account_id匹配這些數據,然後將所有數據從創建和前進的日期中拉回,在系統中輸入的發票之前沒有發票。
例子:
這一次真的應該總結爲0 CES因爲所有invoice_dates是日期是enetered
爲什麼不把's.invoice_date> = c.created_at'作爲另一個* join *條件? – Uueerdo
樣本數據和期望的結果將真正幫助您的問題。 –
因爲那麼這個連接會縮小我的結果,我只想縮小這個「ces」的總和。基本上我想保持原樣,說18行項目的結果,然後我想根據發票之後的發票總和縮小最後一個col「ces」 – nickbrleet