Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Z@ Гость
|
Добавлено: Пт Авг 09 2002 21:20 Заголовок сообщения: Нетривиальная сортировка |
|
|
Нужно отсортировать данные, полученные в результате запроса из нескольких таблиц. Пример table1 ( id INTEGER PRIMARY KEY, #Это поле auto increment text1 VARCHAR(255), table2_id INTEGER #Ссылка на другую таблицу )
table2 ( id INTEGER PRIMARY KEY, #Это поле auto increment text2 VARCHAR(255), )
пишу запрос SELECT * FROM table1, table2 WHERE table1.table2_id=table2.id;
мне нужно полученные данные сортировать по полям text1 и text2. Если поле table2_id всегда ссылается на существующую запись table2 то все работает. А как быть если table2_id нет соответствующей записи в table2, но получать в результате запроса (и сортировать) хочетmся все записи table1? |
|
Вернуться к началу |
|
|
Дядя Вася
Зарегистрирован: 14.08.2002 Сообщения: 39 Откуда: Новосибирск
|
Добавлено: Сб Авг 10 2002 07:49 Заголовок сообщения: Re: Нетривиальная сортировка |
|
|
по-моему в данном случае нужно в select использовать join
ЗЫ я синтаксис не помню, сам посмотри ... |
|
Вернуться к началу |
|
|
ship Гость
|
Добавлено: Пн Авг 12 2002 10:59 Заголовок сообщения: Re: Нетривиальная сортировка |
|
|
во прально дядя вася говорит right|left|outer join и ничего нетривиального |
|
Вернуться к началу |
|
|
ded
Зарегистрирован: 27.06.2002 Сообщения: 4
|
Добавлено: Чт Авг 22 2002 07:54 Заголовок сообщения: Re: Нетривиальная сортировка |
|
|
Вот так: SELECT * FROM table1 LEFT JOIN table2 ON table1.table2_id=table2.id; |
|
Вернуться к началу |
|
|
|