これらの5つのテーブルをどのように結合できますか?
tag: id, name
author: username, id
thread_tags: thread_id, tag_id
thread: id, content
author_threads: author_id, thread_id
(author_tags(tag_id、author_id)というテーブルもありますが、ここでは必要ないと思います)。
特定のタグが付けられているすべてのスレッドとその作成者を選択したいと思います。
次のコードは#1066 - Not unique table/alias: 'tag'
SELECT thread.content, author.username
FROM tag
JOIN thread_tags ON thread.id = thread_tags.thread_id
JOIN tag ON thread_tags.tag_id = tag.id
JOIN author_threads ON author.id = author_threads.author_id
JOIN author ON author_threads.thread_id = thread.id
WHERE tag.name = 'arsenal'
編集:
これは機能します:
SELECT thread.content
FROM tag
JOIN thread_tags ON tag.id = thread_tags.tag_id
JOIN thread ON thread.id = thread_tags.thread_id
WHERE tag.name = 'tagged'
LIMIT 0 , 30
ただし、作成者をスレッドに参加させようとすると、#1066エラーがスローされます。