ПРИСОЕДИНЯЙТЕСЬ к SQL с отношением один ко многим - PullRequest
0 голосов
/ 18 марта 2010

Я делаю инструмент для отслеживания звонков представителям дома / сената, и у меня есть 2 таблицы важности здесь:

* репс 1004 *

rep_id
rep_name # and more info

комментарии

rep_id
status # enum about result of contact
comment

Я хочу запросить для всех reps присоединение к самой последней ассоциированной comments и в некоторых случаях присоединение к comments определенной status, но не может быть никаких comments, связанных с этой rep еще.

СПАСИБО!

Ответы [ 2 ]

4 голосов
/ 18 марта 2010

вам нужен какой-то способ отличить последний комментарий, поэтому я составил новый столбец: 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
1 голос
/ 18 марта 2010

EDIT:

Используйте левое соединение, чтобы получить все повторы,

SELECT reps.rep_id, comments.comment
FROM reps
LEFT JOIN comments
ON reps.rep_id=comments.rep_id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...