输出前的数据
SQL的新手。在数据中,我需要一个SQL查询,该查询将以如下方式返回行:如果Init is not null
,则按月返回Att Date
的最大值,否则应仅返回日期。因此,以上示例的输出需要如下所示。
输出
答案 0 :(得分:0)
使用group by
select ID, FORMAT(AsgnDate, 'dd/MM/yyyy', 'en-us') AsgnDate
,FORMAT(AttDate, 'dd/MM/yyyy', 'en-us') AttDate ,
case when max(INIT) is null then '' else max(INIT) end as INIT from t
group by ID, AsgnDate,AttDate
http://www.sqlfiddle.com/#!18/6a1f8/9
ID AsgnDate AttDate INIT
1 01/05/2018 22/05/2018 ABC
1 01/05/2018 28/06/2018
1 01/05/2018 10/07/2018
2 01/05/2018 09/05/2018 DEF
2 01/05/2018 25/07/2018