powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / id IN( отсортированный результат запроса SELECT )
4 сообщений из 4, страница 1 из 1
id IN( отсортированный результат запроса SELECT )
    #38914906
sqlNovyi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.
Проблема похоже на http://www.sql.ru/forum/1091189/sql-in-array?hl=id in.
Только в IN не готовый массив айдишников, а отсортированная как мне надо таблица айдишников:

SELECT * FROM tbl_post WHERE id IN (- результат SELECT, отсортированная таблица с одним полем id -)

Как добиться того чтобы в результате всего запроса я получал значения отсортированные как во вложенном запросе?
Спасибо.
...
Рейтинг: 0 / 0
id IN( отсортированный результат запроса SELECT )
    #38914912
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
SELECT tbl_post.* FROM tbl_post 
JOIN (
 - результат SELECT, отсортированная таблица с одним полем id -
) t0 on tbl_post.id=t0.id
order by t0.id

хотя, собственно, что вам мешает тупо сортировать по ид результат исходного запроса? они же (иды) всё равно совпадут...
...
Рейтинг: 0 / 0
id IN( отсортированный результат запроса SELECT )
    #38915051
sqlNovyi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблему не решил. Запрос сложный. Привожу запрос полностью:

select id from tbl_catalog_catalog where 1=1 and id in (
select id from
(select ta.id, if(@typex=ta.categoryId, @rownum:=@rownum+1, @rownum:=1+least(0,@typex:=ta.categoryId)) AS rown from (SELECT * FROM tbl_catalog_catalog WHERE categoryId IN(6,7,8,9))ta, (select @rownum:=1, @typex:='_') zz order by rown, categoryId, id ASC)
as my
)

Первый селект - "select id from tbl_catalog_catalog where 1=1 and id in ( ..." - нужен из-за ограничений системы в которой работаю.
Дальше 2 вложенных селекта которые сортируют результаты так как мне надо.
Как я понимаю, оператор IN выдает результат основываясь на принятом им массиве или результате выборки но без сортировки. Мне же нужно чтобы сортировка сохранялась как во внутренней выборке. Нет ли оператора который бы отдавал в результате поля в строгой очередности принятых аргументов?
...
Рейтинг: 0 / 0
id IN( отсортированный результат запроса SELECT )
    #38915162
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sqlNovyiМне же нужно чтобы сортировка сохранялась как во внутренней выборке.Перенести сортировку из подзапроса в запрос. А в подзапросе убрать - она там чуть больше чем нахрен не нужная и вообще лишняя.

sqlNovyiНет ли оператора который бы отдавал в результате поля в строгой очередности принятых аргументов?Нет.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / id IN( отсортированный результат запроса SELECT )
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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