内部联接子选择作为单独的列

时间:2016-11-10 21:27:01

标签: mysql

我有3张桌子: 一个被称为“文件” 一个被称为“标签” 一个叫做“documents_tags”

在表格“document_tags”中我有3列: ID,document_id,tag_id 这意味着通过这个表格,多个标签可以与多个文件链接。

现在我想推出表“tags”的所有数据集,并且在每个结果行中,如果标签与ID“3”的文档(在表document_tags中)链接,我想要一个“1”如果不是“0”。

这可以在一个查询中实现吗?

1 个答案:

答案 0 :(得分:0)

使用LEFT JOIN

SELECT t.id, t.title, IF(dt.document_id, 0, 1) as linked
FROM tags AS t
LEFT JOIN documents_tags AS dt ON dt.tag_id = t.id AND dt.document_id = $doc_id