Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / SELECT ... in (1,3,2) ORDER BY / 5 сообщений из 5, страница 1 из 1
22.05.2008, 14:49
    #35328717
SmeL_md
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SELECT ... in (1,3,2) ORDER BY
SELECT id, descr, val FROM sys_tree_group WHERE id in ( 1,3,2 )
Как написать запрос чтоб записи выводились в порядке соответствующим в WHERE
...
Рейтинг: 0 / 0
22.05.2008, 15:14
    #35328819
LeXa NalBat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SELECT ... in (1,3,2) ORDER BY
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
create table t1 ( id integer, name text );
insert into t1 values ( 10 ,'foo'), ( 20 ,'bar'), ( 30 ,'baz');

select *
from t1
natural join ( values ( 20 , 1 ), ( 30 , 2 ), ( 10 , 3 ) ) as v1 (id,ordr)
order by ordr;

drop table t1;
...
Рейтинг: 0 / 0
22.05.2008, 15:35
    #35328931
SmeL_md
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SELECT ... in (1,3,2) ORDER BY
спасибо
...
Рейтинг: 0 / 0
03.10.2008, 09:02
    #35573827
coolin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SELECT ... in (1,3,2) ORDER BY
и от меня спасибо!

а как сделать тоже самое только с update?
тоесть есть записать в нужном порядке поле-order
что-то вроде этого:

update products set p.pos=v.ordr where p.id in (select * from ( values (30,1), (30,2), (40,3) ) as v (id,ordr))
...
Рейтинг: 0 / 0
03.10.2008, 09:21
    #35573858
coolin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SELECT ... in (1,3,2) ORDER BY
собственно так будет:

update products set pos=v.ordr
from ( values (30,1), (20,2), (50,3) ) as v (id,ordr) where v.id=products.id
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / SELECT ... in (1,3,2) ORDER BY / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]