Эта (Моя) проблема SQL сделает меня сумасшедшим, если ее не решить в этот уик-энд!
Простой общий блог (означает, что многие авторы вносят свой вклад).Давайте рассмотрим две таблицы в моей базе данных:
Сообщений :
- id
- author_id
- title
- содержание
Комментарии :
- id
- author_id
- post_id
- content
Цель: я хочу отобразить все действия участника (=> fixed author_id) .Под деятельностью я подразумеваю следующее:
- Если пользователь создал сообщение и прокомментировал: Отобразите заголовок сообщения и комментарий пользователя
- Если пользователь создал сообщение, но не прокомментировал: Показать только заголовок сообщения
- Если пользователь не создал сообщение, но прокомментировал: Показать заголовок сообщения и комментарий пользователя
Я попробовал этот сценарий SQL:
SELECT p.id AS post_id, p.author_id AS post_author_id, c.author_id AS comment_author_id, title, c.content
FROM Posts p JOIN Comments c ON p.id = c.post_id
WHERE p.author_id = $userId
OR c.author_id = $userId
Выглядит хорошо, но это не дает мне строку, где пользователь создал пост, но не комментирует.
Есть идеи?Спасибо заранее.