|
Модераторы: skyboy |
|
maxipub |
|
|||
Опытный Профиль Группа: Участник Сообщений: 517 Регистрация: 22.10.2009 Репутация: 1 Всего: 1 |
Добрый день!
Запрос:
Ошибка: Subquery returns more than 1 row Как быть? Нужно отсортировать данные из table, по данным другой таблицы, но с предварительной сортировкой этих же данных. Т.е. заджойнить таблицу и сделать ORDER BY sort.position в данном случае не получится, т.к. нам нужна сортировка не по sort.position, а по sort.param, которые были изначально отсортированы по sort.position... |
|||
|
||||
krundetz |
|
|||
Вечный странник Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: нет Всего: 69 |
структуру таблиц и зависимость одной от другой приведите.
|
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 453 |
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
maxipub |
|
|||
Опытный Профиль Группа: Участник Сообщений: 517 Регистрация: 22.10.2009 Репутация: 1 Всего: 1 |
krundetz, зависимостей нет.
Akina, а где ORDER BY s.position ? Зависимостей нет. Тут t.somefield = s.anotherfield не требуется. Нужно просто взять значения s.param из sort s, которые предварительно отсортированы по s.position, и эти значения применить к ORDER BY FIELD (t.type, ... - по этой причине, как писал, не вижу возможности использования JOIN. Т.к. это даст в лучше случае сортировку по s.param (ни как предварительно не отсортированных). Или по s.position - но задача не в этом... Например: sort param position 111 1 222 3 333 2 SELECT param FROM sort ORDER BY position ASC => 111, 333, 222 => ORDER BY FIELD (t.type, 111, 333, 222) Это сообщение отредактировал(а) maxipub - 6.4.2018, 13:08 |
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 453 |
Мля.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
krundetz |
|
|||
Вечный странник Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: нет Всего: 69 |
тогда объединение с отсортированным подзапросом
|
|||
|
||||
maxipub |
|
|||
Опытный Профиль Группа: Участник Сообщений: 517 Регистрация: 22.10.2009 Репутация: 1 Всего: 1 |
Akina, неа.
Есть таблица sort. В ней такие данные: param position 111 1 222 3 333 2 Мы сортируем их по position ASC, получаем: param position^ 111 1 333 2 222 3 И теперь берем эти param, которые отсортированы по position ASC, и по ним сортируем данные в другой таблице: ORDER BY FIELD (t.type, 111, 333, 222) |
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 453 |
maxipub, с таблицей sort всё уже понятно. Теперь покажи пример данных в основной таблице, которую надо сортирить, и требуемый результат.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MySQL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |