[英]how to combine these two queries into one
我有三個表: posts , cat_collection和cat_mapping
posts包含您期望在名為posts id,類型,標題,正文,作者,電子郵件,日期等的表中看到的字段。
cat_collection包含ID,名稱,描述
cat_mapping包含* id,collection_id,post_id *
我目前有兩個查詢,第一個從帖子中選擇信息,第二個從cat_collection和cat_mapping中檢索關聯的類別
第一
SELECT post.id, post.type, post.title, post.body, post.date, post.author, post.email
FROM posts AS post
WHERE post.id = 1
第二
SELECT cat.name
FROM cat_collection AS cat
LEFT JOIN cat_mapping AS map ON map.collection_id = cat.id
WHERE map.post_id = 1
是否可以通過單個查詢返回所有帖子信息以及相關類別列表?
如果我了解您的數據模型,則只需要另一個左聯接。 您可能需要對連接進行重新排序,以確保查詢有效並返回正確的數據。
SELECT
posts.id,
posts.type,
posts.title,
posts.body,
posts.date,
posts.author,
posts.email,
cat.name
FROM
posts
LEFT JOIN
cat_mapping AS map ON map.post_id = posts.id
LEFT JOIN
cat_collection AS collection ON map.collection_id = collection.id
WHERE
posts.id = 1
請仔細考慮您的別名。 將“帖子”混為“帖子”是愚蠢的。 將“ cat_collection”別名為cat會造成混淆-表是關於cat而不是cat的集合的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.