Teradata 如果Col2=(1,2,3),则消除ID

Teradata 如果Col2=(1,2,3),则消除ID,teradata,Teradata,我正在使用TeradataSQL,我有以下输入 如果col2有(1,2,3)个值,则从表中删除Id,因此我想要的表是: 我尝试了所有可能的方法,但无法消除ID?任何帮助或建议都会有帮助。谢谢如果您确实想要删除这些ID,最好使用@MudassirHasan的解决方案,但是如果您想要选择其他ID,您可以在组Max中使用条件聚合: select * from mytable qualify max(case when col2 (1,2,3) then 1 else 0 end) -- wi

我正在使用TeradataSQL,我有以下输入

如果col2有(1,2,3)个值,则从表中删除Id,因此我想要的表是:


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

如果您确实想要删除这些ID,最好使用@MudassirHasan的解决方案,但是如果您想要选择其他ID,您可以在组Max中使用条件聚合:

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

嗨,你能分享你想要的输出吗?你能为你的代码添加一些解释以便其他人可以从中学习吗?请提供一些解释。
DELETE FROM yourTable
WHERE Id IN ( SELECT Id FROM yourTable WHERE col2 IN (1,2,3) )