产品 ID 缺少属性 ID

Product id missing attribute id

我有一个 table 带有 prodID 和 attrID 每个 prodID 有 1-5 个 atrrID 我想列出没有特定 atrrID 的 prodID,例如“c”

+-----------+---------+
| prodID    | attrID  | 
+-----------+---------+
| 1         | a       | 
| 1         | b       |
| 1         | c       | 
| 2         | a       | 
| 2         | b       | 
| 2         | d       |
| 3         | b       | 
| 3         | c       | 
| 3         | d       |
| 4         | a       | 
| 4         | b       | 
| 4         | d       | 
| 4         | e       | 
| 5         | a       | 
| 5         | b       | 
| 6         | a       | 
| 6         | d       |   
+-----------+---------+

结果应该是

+-----------+
| prodID    |
+-----------+
| 2         |
| 4         | 
| 5         |
| 6         |
+-----------+

Table 名字是 rp_prod_attr_list

您可以使用 group byhaving:

select prodid
from mytable 
group by prodid
having max(attrid = 'c') = 0

在 MySQL 中,在数字上下文中评估的条件 returns 1 如果满足,否则 0。所以max(attr_id = 'c') = 0语句为:组中没有满足条件的行。

尝试以下操作:

select distinct prodid
from prod p
where not exists (select null
                  from prod p_
                  where p_.prodid = p.prodid
                   and attrID = 'c')