簡體   English   中英

找到沒有關系的多對多

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM