Как упорядочить результаты таблицы по значению другой строки - PullRequest
0 голосов
/ 02 ноября 2018

Я создал запрос для выбора столбца record в таблице, где существуют другие строки, но я хочу добавить order by, который упорядочивает по значению другой строки.

SELECT 
  record 
FROM 
  record_attributes 
GROUP BY 
  record 
HAVING 
  sum(type = 'lead' AND option_name = 'pupil_cap' AND value > 0) > 0 AND 
  sum(type = 'lead' AND option_name = 'car_type' AND value = 'Manual') > 0 AND 
  sum(type = 'lead' AND option_name = 'instructor_areas_covered' AND value = '26') > 0 AND 
  sum(type = 'lead' AND option_name = 'diary_updates' AND value = '1') > 0

Как упорядочить эти результаты по другому запросу в той же таблице со следующими данными:

ORDER BY record_attributes.value WHERE record_attributes.type = 'lead' AND record_attributes.option_name = 'instructor_rank'

А если строка не существует, используйте это:

ORDER BY record_attributes.value WHERE record_attributes.type = 'lead' AND record_attributes.option_name = 'instructor_start_date'

1 Ответ

0 голосов
/ 02 ноября 2018

Не уверен, что я правильно понял.
Но как то так?

...
ORDER BY 
MAX(CASE WHEN type = 'lead' AND option_name = 'instructor_rank' THEN value END),
MAX(CASE WHEN type = 'lead' AND option_name = 'instructor_start_date' THEN value END)

Вы можете проверить это здесь на rextester.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...