Помогите пожалуйста составить SQL запрос

261
29 октября 2017, 18:16

Привет! Прошу вашей помощи. Есть уже select с большим количеством join и с длинным условием where. Но так же есть еще одна незаджоиненная таблица criteria с двумя интересующими меня колонками. В одной из них criteria_group_id содержатся типы критериев - это числа от 1 до 5, а в другой appl_type_id значения этих критериев - это либо 1, либо -1. Есть в этой таблице еще колонка appl_id с уникальным идентификатором, по которому можно сделать джоин к уже написанному селекту. Т.е. у каждого appl_id в criteria_group_id есть пять значений от 1 до 5.

В итоге мне нужно добавить к селекту еще 5 колонок "критерий 1", "критерий 2" и тд. с соответствующими значениями из appl_type_id.

Как я могу это сделать?

Answer 1

Самы простой способ приджойнить таблицу 5 раз с разными алиасами для каждого типа.

SELECT
...
cr1.appl_type_id as cr1_value,
cr2.appl_type_id as cr2_value,
...
JOIN criteria as cr1 ON cr1.appl_id = таблица.id AND cr1.criteria_group_id = 1
JOIN criteria as cr2 ON cr2.appl_id = таблица.id AND cr2.criteria_group_id = 2
...
READ ALSO
Как подсчитать дни, попадающие в месяц при то, что заданы лишь промежутки? MySQL

Как подсчитать дни, попадающие в месяц при то, что заданы лишь промежутки? MySQL

Дана таблица в MySQL, в которой есть некоторый набор диапазона дат (2 столбца начало и конец)Есть проблема, например, нужно подсчать количество...

179
Ошибка миграции EF GetDbProviderManifestToken MySql, как победить?

Ошибка миграции EF GetDbProviderManifestToken MySql, как победить?

Делаю в консоли NuGet PM>Enable-Migrations -Force

284
oracle dblink перестает работать с опцией allow big result sets (odbc mysql connect)

oracle dblink перестает работать с опцией allow big result sets (odbc mysql connect)

Allow big result sets - опция разрешает большие наборы данных, нужна для передачи clob полейЕсли опция не установлена данные будут усечены до 255 символов

296