不确定该标题是否合适,但这是我的方案......
我有一个看起来像这样的表:
Key1 Key2 Scheduled Data
----------------------------------
abc123 io null asdf
abc123 go 01/02/13 asdf
abc321 er null asdf
abc321 fr null asdf
我需要选择distinct来获取一组不同的Key1
而不管其他列,但我还需要一个布尔来指示任何预定列设置的天气。理想情况下,我的结果集看起来像这样
Key1 IsAnyScheduled
-------------------
abc123 True
abc321 False
我不是一个SQL大师,看不懂怎么做。此外,我们的系统基于SQL Server,但它运行sql的一个子集,所以如果可能的话,有人可以帮助我用最基本的函数写这个吗?
由于
答案 0 :(得分:3)
使用MAX
,CASE
和GROUP BY
条款。
SELECT Key1,
CASE WHEN MAX(Scheduled) IS NULL
THEN 'False'
ELSE 'TRUE'
END AS IsAnyScheduled
FROM tableName
GROUP BY Key1
答案 1 :(得分:0)
您需要一个小组:
select key1, (case when count(Scheduled) = 0 then 'false' else 'true' end) as IsAnyScheduled
from t
group by key1