[英]find many to many with no relation
我有一個items
表、一個tags
表和一個reletations
表。 我需要找到未標記的項目。
通過這個(工作)查詢,我找到了每個項目的標簽編號:
SELECT i.id, i.text, COUNT( ti.item ) AS count
FROM items AS i
JOIN topic_item AS ti ON ti.item = i.id
GROUP BY ti.item
如果嘗試使用以下命令修改查詢:
ti.item != i.id
或者我添加
WHERE count = 0
但這不是正確的方法。 哪種方法是正確的?
嘗試left join
如下
SELECT i.id, i.text, COUNT( ti.item ) AS count
FROM items AS i
LEFT JOIN topic_item AS ti ON ti.item = i.id
WHERE ti.item is null
GROUP BY ti.item
您可以使用left join
,並獲取沒有匹配標簽的項目:
SELECT i.id, i.text
FROM items AS i
LEFT JOIN topic_item AS ti ON ti.item = i.id
WHERE ti.item is null
您也可以使用not exists
:
SELECT i.id, i.text
FROM items AS i
WHERE not exists(
select * from topic_item AS ti
where ti.item = i.id
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.