Не хватает агрегирующей функции | |
---|---|
And Автор Сообщений: 901 Дата регистрации: 29.01.2001 |
Суть простая: есть таблица комментариев специалистов к заказу (выкинем лишние поля)
Номер заказ | Код специалиста 1 | 4 1 | 5 2 | 5 3 | 4 3 | 5 3 | 6 Селектом нужно получить выборку с группировкой по номеру заказа, в которой должно быть понятно, есть ли в заказе комментарий специалистов с кодами 4,5,6, т.е. итоговая выборка Номер заказа | Специалист 4 | Специалист 5 | Специалист 6 1 | Да | Да | Нет 2 | Нет | Да | Нет 3 | Да | Да | Да Можно именно селектом результат получить? Тут мог бы помочь в качестве значения поля встроенный селект, но не знаю, тут можно ли его использовать, какой синтаксис? |
Re: Не хватает агрегирующей функции | |
---|---|
AleksM Сообщений: 17881 Дата регистрации: 11.11.2003 |
Если исходить из вышеописанного, то (только не в "Да/Нет", а в "1/0", для простоты):
select NumZak, iif(CodSpec=4,1,0) Spec4, iif(CodSpec=5,1,0) Spec5, iif(CodSpec=6,1,0) Spec6 from ... Далее проанализировать итоговый селект. ------------------ Лучше переесть, чем недоспать. Не спеши, а то успеешь. |
Re: Не хватает агрегирующей функции | |
---|---|
And Автор Сообщений: 901 Дата регистрации: 29.01.2001 |
Вот спасибо, сразу не увидел!
Правда еще добавил функцию и группировку и получил самое то: select NumZak, max(iif(CodSpec=4,1,0)) Spec4, max(iif(CodSpec=5,1,0)) Spec5, max(iif(CodSpec=6,1,0)) Spec6 from comment group by NumZak Спасибо, еще раз! |
Re: Не хватает агрегирующей функции | |
---|---|
AleksM Сообщений: 17881 Дата регистрации: 11.11.2003 |
P.S. Может тебе для таких случаев wzpivot.app из набора мастеров Foxа подойдет?
------------------ Лучше переесть, чем недоспать. Не спеши, а то успеешь. |
© 2000-2024 Fox Club  |