powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Сортировка по результатам подзапроса
7 сообщений из 7, страница 1 из 1
Сортировка по результатам подзапроса
    #32002099
Brand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть запрос примерно такого вида:
select * from table1 where field1 in (select field1 from table2 order by field2)

Подзапрос возвращает значения в определенном порядке, отсортированные по field2. Как сделать так чтобы основной запрос тоже выводил значения отсортированные по результатам подзапроса? Эм.. немного туманно получилось в общем если подзапрос вернет "5", "1", "3" - то нужно чтобы и основной запрос выводил сначала те строки в которых field1=5 потом, field1=1 и наконец field1=3
...
Рейтинг: 0 / 0
Сортировка по результатам подзапроса
    #32002103
Фотография Дед Маздай
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеем 2 таблицы: table1 (id, field1) и table2 (id, field2). Поле id в обеих identity и primary key. Колонка field1 = {1, 2, 3, 4, 5}; колонка field2 = {5, 1, 3}. Тогда твой запрос нужно переписать как select table1.id, field1 from table1 inner join table2 on field1 = field2 order by table2.id
...
Рейтинг: 0 / 0
Сортировка по результатам подзапроса
    #32002106
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хотел бы добавить

В общем случае эта задача не решаема в принципе - ведь полю field1 в таблице table2 может соответствовать несколько и наоборот. И какое field2 тогда использовать для сортировки?
...
Рейтинг: 0 / 0
Сортировка по результатам подзапроса
    #32002113
VadimB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
может для общего случая можно так:

select distinct
table1.id, table1.field1
from table1,table2
where table1.field1 *= table2.field1
order by table2.id
...
Рейтинг: 0 / 0
Сортировка по результатам подзапроса
    #32002133
Brand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для моего случая получилось так:
select * from table1 order by
(select sum(field2) from table2 where table2.field1 = table1.field1)

Напрягает только время выполнения.. :|

p.s. Да да, мне надо было сортировать именно по сумме
...
Рейтинг: 0 / 0
Сортировка по результатам подзапроса
    #32002135
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SELECT T1.*
FROM Table1 T1 INNER JOIN
(SELECT Field1, SUM(Field2) AS SM
FROM Table2 GROUP BY Field1) T2
ON T1.Field1 = T2.Field1
ORDER BY T2.SM
...
Рейтинг: 0 / 0
Сортировка по результатам подзапроса
    #32002148
Brand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Garya, а вот твой вариант просто летает
Thanks
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Сортировка по результатам подзапроса
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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