Этот запрос помог:
select t.id, t.time_last from topics t left join topics_view tv using(id) where time_last>15 and (time_last>time_v or time_v is null)
Но в процессе пришлось ввести некоторые корректировки в исходные данные:Таблица topics: id, razd_id, time_last1 4 24
2 2 36
3 3 19
4 3 45
5 8 11
6 9 12
7 4 75
8 1 37
9 2 24
10 5 21
11 6 4
12 3 12
13 8 31
14 3 42
15 3 31
16 3 47
Таблица topics_view: id, user_id, time_v4 2 27
8 4 42
2 8 18
9 1 34
13 3 13
7 2 39
10 7 11
13 7 28
10 2 31
9 11 17
14 2 54
8 1 12
16 2 20
11 6 19
Нужно получить результат, в котором будут выбраны записи из таблицы topics(id, time_last) присоединить поле time_v из
таблицы topics_view, ГДЕ time_last>15 и razd_id=3, а так же для каждой соотвествующей строки
topics.time_last>topics_view.time_v, - ИЗ таблицы topics_view сравнение производить только для записей, где user_id=2.
Причем, если в таблице topics_view некоторые записи отсутствуют, то они должны присутствовать в результате.
То есть результирующая табличка должна быть такой:
3 19 NULL
4 45 27
15 31 NULL
16 47 20
Делаю такой запрос:
SELECT t.id, t.time_last, tv.time_v FROM topics AS t
LEFT JOIN topics_view AS tv USING(id)
WHERE t.time_last>15 AND t.razd_id=3 AND tv.user_id=2
AND(t.time_last>tv.time_v OR tv.time_v IS NULL)
Но этот запрос возвращает неверный результат...