|
|
|
|
|
для: Trianon
(02.10.2008 в 18:22)
| | Угу.
Спасибо огромное. | |
|
|
|
|
|
|
|
для: Axxil
(02.10.2008 в 16:41)
| |
SELECT t1.*, COALESCE(t2.some_date, t1.some_date) as sortdate
FROM t1 LEFT JOIN t2 ON t1.user_id = t2.user_id
ORDER BY sortdate DESC
|
так чтоли? | |
|
|
|
|
|
|
|
для: Trianon
(02.10.2008 в 16:23)
| | Неправильно сформулировал :(
в первой таблице имеем
t1.user_id t1.some_date
2 2008-09-30
3 2008-09-24
4 2008-09-22
5 2008-09-29
|
во второй таблице имеем
t2.user_id t2.some_date
2 2008-09-27
3 2008-09-30
|
Теперь надо построить запрос так, чтобы вывести всех юзеров, но отсортировать так, чтобы даты из второй таблицы перебили даты первой для соответствующих юзеров. И итоговую выборку отсортировать в порядке убывания. | |
|
|
|
|
|
|
|
для: Axxil
(02.10.2008 в 15:57)
| | >Нужно их объединить с помощью left join и провести сортировку так как будто поле some_date общее.
В каком смысле - общее?
Сейчас у Вас таблицы соединены по полю user_id (случайно или намереннно). | |
|
|
|
|
|
|
| Есть две таблицы
t1.user_id t1.some_date
t2.user_id t2.some_date
|
Нужно их объединить с помощью left join и провести сортировку так как будто поле some_date общее.
Что-то типа того:
select * from t1
left join t2 on t2.user_id = t1.user_id
order by some_date desc
|
Надеюсь задача понятно сформулирована.
Как бы это реализовать? | |
|
|
|
|