我有一张这样的表:
date val
2016-1-1 8
2016-2-1 10
2016-1-2 30
2016-1-3 30
现在,我有两个日期来自另一个表格,我们称之为fromdate
和two date
如果fromdate为1,2016-1-1
和Todate为2016-1-2
,我需要8 + 30 = 38作为最终值
我需要检查
所有这些值的SUM(val)对应于fromdate和twodate之间的日期。
我试过了:
SELECT nr.sku AS ParentSKU
SUM(gasessiondata.sessions) as visitsWhenSKUWasOnline
FROM
Erp.new_ranking nr
LEFT JOIN
Temp.NumberOfDaysOnline ndo
ON
ndo.sku = nr.sku
JOIN
gadb.gasessiondata gasessiondata
ON 1=1
WHERE
ndo.FromDate Is NOT NULL
AND
ndo.ToDate IS NOT NULL
AND
gasessiondata.date >= ndo.FromDate
AND
gasessiondata.date <= ndo.ToDate
GROUP BY nr.sku
但当然这并不正确。
答案 0 :(得分:0)
无法在连接表达式中传递日期,但在子查询中,您将获得总和:
SELECT ndo.sku ParentSKU,
(
SELECT SUM(gasessiondata.sessions) as s
FROM gasessiondata
gasessiondata.date >= ndo.FromDate
AND
gasessiondata.date <= ndo.ToDate
) as visitsWhenSKUWasOnline
FROM Temp.NumberOfDaysOnline ndo
我不了解你的表结构,你的表格没有清楚描述,但我认为adobe查询会有所帮助。