我无法从关系表中过滤数据。该查询是联接的一部分,但我被困在一个基本部分。
如果找到条件,我需要删除具有特定ID的所有结果。
查询类似于:
从颜色中选择*颜色!='红色'按ID分组
id color 1 red 1 blue 1 blue 2 green 2 blue 3 green 3 orange 4 red 5 white
返回1,2,3,5
我需要它只返回2,3,5
我不确定使用什么mysql命令
答案 0 :(得分:1)
select * from colors group by id having not group_concat(color) LIKE "%red%"
应该有效(未经测试)。
但是有很多具有相同价值的ID很奇怪......
答案 1 :(得分:1)
SELECT DISTINCT id
FROM my_table
WHERE id NOT IN (
SELECT id
FROM my_table
WHERE color = ?
)