我在Server中有一个表
表作业
ID Name Job ControlValue
----------------------------------------
1 Seth IT 0
2 Seth IT 1
3 Maria Farmer 1
4 Maria Farmer 1
5 Maria Farmer 1这是我的查询
SELECT DISTINCT Name, Job
, CASE WHEN ControlValue IS 1 THEN 'Present' WHEN ControlaValue IS 0 THEN 'Not Present'
FROM Jobs这是上面查询的输出。
Name Job ControlValue
----------------------------------------
Seth IT Not Present
Seth IT Present
Maria Farmer Present我想问的是:
是否有一种方法可以检查是否存在带有Not Present 和1的ControlValue,然后只显示一行与的结果
所以输出将是
Name Job ControlValue
----------------------------------------
Seth IT Not Present
Maria Farmer Present发布于 2020-06-03 11:32:05
你想要的是MIN和CAST/CONVERT
SELECT [Name],
Job,
CASE MIN(CONVERT(tinyint,ControlValue)) WHEN 0 THEN 'Not Present' ELSE 'Present' END AS ControlValue
FROM dbo.YourTable
GROUP BY [Name],
Job;这里需要CAST/CONVERT的原因是您不能对bit数据类型执行聚合功能。
https://stackoverflow.com/questions/62171748
复制相似问题