Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 选择未标记的文档_Mysql_Join - Fatal编程技术网

Mysql 选择未标记的文档

Mysql 选择未标记的文档,mysql,join,Mysql,Join,假设我的数据库有3个表: Documents Tags Documents_Tags (the join table) 我知道如何使用左连接查找分配给文档的标记,但我很难找到未分配的标记 SELECT * FROM `documents_tags` LEFT JOIN `tags` ON `tags`.`id` = `documents_tags`.`tag_id` WHERE `document_id` = 111; 我尝试了不同的连接,但我一直只有一张记录。我认为有一种方

假设我的数据库有3个表:

Documents
Tags
Documents_Tags (the join table)
我知道如何使用左连接查找分配给文档的标记,但我很难找到未分配的标记

SELECT * FROM `documents_tags`
    LEFT JOIN `tags` ON `tags`.`id` = `documents_tags`.`tag_id`
    WHERE `document_id` = 111;
我尝试了不同的连接,但我一直只有一张记录。我认为有一种方法可以连接所有标记,然后将结果限制在文档为空的位置


编辑:在上面的示例中,我需要查找未分配给文档
111的所有标记

,但在上面的查询中,您试图查找实际分配给文档
111的所有标记
SELECT Tags.name -- or whatever it is
FROM
    tags
    LEFT JOIN documents_tags dt ON (tags.id = dt.tag_id AND dt.document_id = 111)
WHERE dt.id IS NULL