[英]JOIN in SQL with one-to-many relationship
我正在制作一個工具來跟蹤房屋/參議院代表的電話,這里有2個重要的表格:
代表
rep_id
rep_name # and more info
評論
rep_id
status # enum about result of contact
comment
我想查詢所有加入最新關聯comments
reps
,在某些情況下還加入特定status
comments
,但是可能還沒有與該rep
關聯的comments
。
謝謝!
您需要某種方式來區分最新評論,所以我組成了一個新列: comments.commentDate
,使用該查詢或一些自動編號/身份使用這樣的查詢:
SELECT
r.*,c.*
FROM reps r
LEFT OUTER JOIN (SELECT
rep_id,MAX(commentDate) AS MaxDate
FROM comments
GROUP BY rep_id
) m On r.rep_id=m.rep_id
LEFT OUTER JOIN comments c ON r.rep_id=c.rep_id AND m.MaxDate=c.commentDate
ORDER BY r.rep_name
編輯:
使用左聯接獲得所有代表,
SELECT reps.rep_id, comments.comment
FROM reps
LEFT JOIN comments
ON reps.rep_id=comments.rep_id
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.