gpt4 book ai didi

mysql - SQL 查询以检索与一组标签匹配的所有事件,而不是其他

转载 作者:搜寻专家 更新时间:2023-10-30 23:02:09 24 4
gpt4 key购买 nike

我有一个包含以下属性(id、eventid、tagid)的表,其中一个 eventid 可能有很多标签。让我们举个例子

1, E1, T1
2, E1, T2
3, E2, T2
4, E2, T3
5, E3, T2
6, E3, T4

在那个例子中

E1 has T1 and T2
E2 has T2 and T3
E3 has T2 and T4

现在,我想执行查询以检索所有带有特定标签的事件,但只有那些标签,没有其他标签,例如,我需要所有带有标签 T1 和 T2 而没有其他标签的事件

我试过

select * from table where tagid in (T1, T2)

但它检索所有元素 :-(, 我在想

select * from table where tagid in (T1, T2) and tag not in (T3, T4)

但是还是不行

唯一具有标记 1 和 2 且没有其他标记的事件是 E1,我该如何查询它?

最佳答案

select id, eventid, tagid 
from table1
where tagid IN ('T1', 'T2') AND
NOT EXISTS (SELECT 1 FROM table1 t1
WHERE table1.eventid = t1.eventid
AND tagid NOT IN ('T1', 'T2'));

DEMO

关于mysql - SQL 查询以检索与一组标签匹配的所有事件,而不是其他,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31085470/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com