Предположим, у меня есть две таблицы, одна с сообщениями в блоге, а другая с читателями и их комментариями:
Таблица 1:
Имя таблицы: BlogPosts:
структура:
id (int)
title (string)
Таблица 2:
Название таблицы: Читатели:
id (int)
blog_post_id (int)
name (string)
comment (string)
inВ таблице Readers есть уникальный составной ключ для blog_post_id / name (т. е. один комментарий на читателя на сообщение), хотя это может не иметь значения для моего вопроса.
Я хочу, чтобы можно было выполнить один запрос, говорит мнекакой комментарий конкретного читателя был для каждого BlogPost, но он должен включать BlogPosts, для которых нет комментариев для этого читателя (поэтому запрос должен возвращать одну строку для каждого сообщения в базе данных в базе данных).
Я пыталсянесколько вариантов, которые выглядят так:
SELECT
BlogPosts.id,
BlogPosts.title,
Readers.name,
Readers.comment
FROM
BlogPosts
RIGHT JOIN Readers ON
(BlogPosts.id = Readers.blog_post_id)
WHERE Readers.name = "joe"
.. это просто возвращает строки, в которых есть комментарий от joe.Другие варианты, когда мне удавалось получить все сообщения в блоге, давали мне неверный идентификатор всякий раз, когда я включал условие where.
Я использую Oracle Express 10g на случай, если это что-то изменит.
Спасибо за любую помощь.