其中一些" job_id"(列" job_id")有重复项。我需要从该表中选择所有列。如果" job_id"列,然后选择具有类型的行(从列"键入")"待开始"。我也试着加入桌子,但它也没有用。
select *
case x.job_id
when count(*)>1 then x.type="Pending Starts"
end as type
from X
答案 0 :(得分:0)
使用两个查询的并集。人们发现所有不具有重复作业ID的行。另一个查找所有重复的作业ID,并返回type = 'PendingStarts'
的行。
SELECT a.*
FROM X AS a
JOIN (SELECT job_id
FROM X
GROUP BY job_id
HAVING COUNT(*) = 1) AS b
ON a.job_id = b.job_id
UNION ALL
SELECT a.*
FROM X AS a
JOIN X AS b ON a.job_id = b.job_id
WHERE a.type = 'PendingStarts'
AND b.type != 'Pending Starts'
我假设当有重复时,类型是不同的。
答案 1 :(得分:0)
你总是想要Pending Starts值,所以从那开始:
List
这不是您的问题所要求的,但它似乎是您可能想要的。