我正在嘗試洗掉包含專案的類別。
我有 4 張桌子:
類別
編號
帖子
post_id
圖片
image_post_id
標簽
tag_post_id
對于選擇和取消鏈接影像,我的 sql 查詢是這樣的:
SELECT * FROM categories, posts, images, comments, tags
WHERE catId = 25
AND post_catId = catId
AND image_post_id = post_id
AND comment_post_id = post_id
AND tag_cat_id = catId
AND tag_post_id = post_id
但它不顯示帖子,類別中有超過 100 個帖子。
當我僅在類別中搜索并發布時,它會顯示所有內容。
uj5u.com熱心網友回復:
您正在使用 INNER JOIN,當在所有 4 個表中找到相關記錄時,您將獲得結果。您需要使用LEFT JOIN,類似于:
SELECT * FROM categories
LEFT JOIN posts on post_catId = catId
LEFT JOIN images ON image_post_id = post_id
LEFT JOIN comments ON comment_post_id = post_id
LEFT JOIN tags ON tag_cat_id = catId AND tag_post_id = post_id
WHERE catId = 25;
然后您將看到與您的 catid=25 相關的所有資料。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/315255.html
上一篇:我在同時使用leftjoin和groupby時遇到問題。我有多行具有相同user_id的資料,所以我想使用groupby
下一篇:重排一組行
