gpt4 book ai didi

sql - SQLITE查询帮助

转载 作者:行者123 更新时间:2023-12-03 13:44:56 26 4
gpt4 key购买 nike

我有三个表Task和TaskTag和Tag如下。

CREATE TABLE Task (task_id text PRIMARY KEY, subject text);
CREATE TABLE TaskTag (task_tag_id text PRIMARY KEY, task_id text, tag_id text);
CREATE TABLE Tag (tag_id text PRIMARY KEY, tag text);


我想在 Task中找到一条记录,其中有两个匹配的标签:tag1,tag2

我试过了SQL的外观,但是我不能使用AND来工作,但是可以使用OR。

SELECT * 
FROM Task
JOIN TaskTag ON Task.task_id = TaskTag.task_id
JOIN Tag ON TaskTag.tag_id = Tag.tag_id
WHERE tag = "tag1"
AND tag = "tag2"

最佳答案

用:

  SELECT * 
FROM Task
JOIN TaskTag ON Task.task_id = TaskTag.task_id
JOIN Tag ON TaskTag.tag_id = Tag.tag_id
WHERE tag IN ('tag1', 'tag2')
GROUP BY Task.task_id
HAVING COUNT(DISTINCT tag) = 2


HAVING COUNT(DISTINCT ...)需要等于 IN个参数,否则您可能会看到误报(tag1的IE重复项将计为2,依此类推)。

关于sql - SQLITE查询帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6673876/

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