我有一个表(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