我有三个$ docker exec -it stack_dns_1 hostname
affy.affy.com
:
DM_EVENT.event_code
我需要使用日期参数来选择最新的所需报告日期(在此示例中为'DRL'
'CMP'
'WOV'
)以从该日期开始提取'4/28/15'
。 SUM(DM_DAILYCOST.cost_per_item)
和'CMP'
可以使用所选日期。
但是,对于代码'WOV'
,我需要为'DRL'
提取SUM(DM_DAILYCOST.cost_per_item)
。
我认为我使它变得比它需要的更难,但我坚持一个解决方案。非常感谢任何见解!
DATEADD(d,-1,'4/28/15')
答案 0 :(得分:0)
您需要的只是WHERE
声明中的正确条件。您应该在'CMP'
日期'WOV'
和'4/28/15'
事件中仅选择'DRL'
和DATEADD(d,-1,'4/28/15')
个事件:
SELECT
...,
SUM(dm_dailycost.cost_per_item) as Expr1,
...
FROM ...
INNER JOIN ...
...
WHERE
dm_event.event_code in ('CMP', 'WOV')
AND dm_report_journal.date_report = '4/28/15'
OR
dm_event.event_code = 'DRL'
AND dm_report_journal.date_report = DATEADD(d,-1,'4/28/15')
GROUP BY ...
从查询中删除您的HAVING语句。