SQL返回相同的日期,UID,不同的状态

时间:2018-05-30 11:23:30

标签: sql

我正在尝试从大型数据源创建Tableau自定义SQL,该数据源将返回具有不同状态的相同日期,相同UID的所有记录。如下图所示:

输入:

UID     ST  DOS
11111   WI  1/1/2018
11111   WI  1/1/2018
11111   MN  1/1/2018
11111   CO  1/31/2018

期望输出:

UID     ST  DOS
11111   WI  1/1/2018
11111   MN  1/1/2018

我知道这不起作用,但沿着这条线。感谢您的帮助。

Select UID, DOS, ST
from DATA.TABLE2
Where UID in ('11111') and DOS = DOS and ST >('2')

2 个答案:

答案 0 :(得分:0)

你想要subquery

select t.*
from DATA.TABLE2 t
where DOS = (select min(t1.DOS) from DATA.TABLE2 t1 where t1.UID = t.UID);

答案 1 :(得分:0)

以下数据表明了这一点:

select distinct t2.UID, t2.DOS, t2.ST
from DATA.TABLE2 t2
where exists (select 1
              from data.table2 tt2
              where tt2.uid = t2.uid and
                    tt2.dos = t2.dos and
                    tt2.st <> t2.st
             );

您的问题实际上并不建议删除重复项,因此如果您需要重复项,请删除distinct