我正在运行一个查询来撤回在我们的系统中制作的数据,并将其与单独的发票表进行比较,该表正在工作。但是,现在我只需要将该总额(卷)仅限于发票数量大于系统中输入的日期。从同一表中选择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