我有三个称为Notes
的表,另一个称为Tags
的表,第三个是称为NoteTagsJoin
的联接表,联接表包含两个外键,分别是主注释id和主标记id。我使用此查询来获取所有具有tagId的Notes:
SELECT * FROM notes INNER JOIN note_tag_join ON notes.entryId = note_tag_join.noteId WHERE note_tag_join.tagId =:tagId
并通过此查询获取所有标签:
SELECT * FROM tags INNER JOIN note_tag_join ON tags.tagId = note_tag_join.tagId WHERE note_tag_join.noteId =:noteId
如何通过一个查询仅使用Note id来获取Note及其所有标签?
最佳答案
您是否正在寻找两个联接?
SELECT n.*, t.*
FROM notes n INNER JOIN
note_tag_join nt
ON n.entryId = nt.noteId INNER JOIN
tag t
ON t.tagId = nt.tagId
WHERE n..entryId = :noteId
关于mysql - MySQL查询使用多对多关系联接两个表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50564755/