如果Col2 =(1,2,3)

时间:2018-11-22 05:14:27

标签: teradata

我正在使用Teradata sql,并且输入以下内容

table1

如果 col2 具有(1,2,3)值,则从表中删除ID,所以我想要的表是:

Table2

我尝试了所有可能的方法,但无法消除ID?任何帮助或建议都会有所帮助。谢谢

2 个答案:

答案 0 :(得分:0)

如果您实际上要删除这些ID,最好使用@MudassirHasan的解决方案,但如果要选择其他ID,则可以在Group Max中使用 Conditional Aggregation

select *
from mytable
qualify
   max(case when col2 (1,2,3) then 1 else 0 end) -- will return zero when those values don't exist
   over (partition by id) = 0                    -- for an ID

答案 1 :(得分:0)

DELETE FROM yourTable
WHERE Id IN ( SELECT Id FROM yourTable WHERE col2 IN (1,2,3) )