我想選擇包含特定標記的所有文章。我與這個查詢嘗試它:sql連接問題
SELECT GROUP_CONCAT(t.tag_name) taglist
FROM posts p
JOIN posts_tags pt ON p.post_id = pt.post_id
JOIN tags t ON t.tag_id = pt.tag_id
WHERE (p.post_private = 0) AND t.tag_name = 'php'
GROUP BY p.post_id
問題是,上面的查詢,選擇所有包含php
標籤的帖子,但不會選擇任何一個職位可能包含其他代碼。沒有AND t.tag_name = 'php'
的一部分,它確實選擇了帖子所有的標籤,但我希望能夠通過標籤進行過濾...
任何想法如何做到這一點?我試過很多東西,但不能弄明白......
樣本數據,而AND
聲明:
|| *taglist* ||
|| php,echo ||
|| c++, cout ||
與AND
聲明的樣本數據:
|| *taglist* ||
|| php ||
什麼我想要:
|| *taglist* ||
|| php,echo ||
(包含PHP標籤的帖子o只是)
RIGHT JOIN?你確定這就是你想要的嗎? –
你說得對,我不需要那個,但仍然不能工作 – networkprofile
你能提供樣本數據和你的預期輸出嗎? –