在特定条件下检查重复值

  • 本文关键字:条件下 sql duplicates
  • 更新时间 :
  • 英文 :


我有一个表(product attributes),它有这些列:

product_attribute_id
attribute_term_id
attribute_id
product_id

attribute_term_id和attribute_id是一个组合,例如(在术语表上):

attribute_term_id  attribute_id  term
17252              40            Integrated Modem 56K
693363             40            Info Not Available
41117              40            None

有多个产品具有对条目attribute_term_id和attribute_id,我们最近引入了一个条件,我们不能有这样组合的产品,例如:

693363             40            Info Not Available
41117              40            None

或:

17252              40            Integrated Modem 56K
41117              40            None

我们如何用一种简单的方式检查这个?它主要检查产品是否有属性对term = 'None'且同一产品是否有属性对相同attribute_id(任意)

您可以尝试使用exists,我假设您在该表中有术语列

select t1.*, 
case when exists( select 1 from product_attributes  t2 where t1.attribute_id=t2.attribute_id and t2.term in ('None','Info Not Available')
) then 'write_flag' else 'enotherflag' end 
from product attributes) t1

相关内容

  • 没有找到相关文章

最新更新