簡體   English   中英

以一對多關系加入SQL

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM