我需要根据多个列条件排除行,如1)首先从列ID1中查找值“rev”,2)根据第一个条件(即Ref1)在列ID2中查找相应值,并排除包含第二列中的值的所有行。
ID1 ID2 VALUE
post Ref1 12
post Ref1 3
rev Ref1 12
rev Ref1 3
post Ref2 10
post Ref2 5
output
ID1 ID2 VALUE
post Ref2 10
post Ref2 5
2条答案
按热度按时间qhhrdooz1#
这里假设“rev”代表reversal或类似的东西,并且如果ID2和VALUE对于“post”和“rev”是相同的,那么它们彼此否定。
我用这个创建了你的表:
然后,我编写了此查询,以便首先获取所有“post”行的数据,然后在
ID2
和VALUE
上进行自连接匹配,并且ID1
现在必须为“rev”,然后在WHERE
子句中添加一些内容,以便仅返回没有T2.ID1
的行1cosmwyk2#
当“rev”替换为“post”时,您可以先选择所有包含
ID1 = 'post'
的行,然后删除所有包含ID1 = 'rev'
的记录。检查here演示。