Текущий архив: 2004.07.18;
Скачать: CL | DM;
Вниз
Реально ли это сделать одним запросом ? Найти похожие ветки
← →
Andrey V. © (2004-06-16 15:42) [0]Что-то не получается у меня
Таблица:
-----------------------------------
field_1 field_2 field_3 field_4
-----------------------------------
Иванов 3 33 1
Петров 4 2 1
Иванов 2 12 0
Сидоров 5 6 1
-----------------------------------
field_4 принимает только 1 и 0
Надо:
-----------------------------------
field_1 Симма Сумма
field_2 field_3
для для
field_4=0 field_4=1
-----------------------------------
Иванов 2 33
Петров 0 2
Сидоров 0 6
-----------------------------------
Пример упрощен, да простят меня люди с вышеупомянытыми фамилиями
← →
Sandman25 © (2004-06-16 15:46) [1]select familyname, sum(field2*(1-field4)), sum(field3*field4)
from mytable
group by familyname
← →
Andrey V. © (2004-06-16 15:50) [2]Sandman25, ну вы везде успеваете :-)
Сейчас буду пробовать ...
← →
Andrey V. © (2004-06-22 08:34) [3]Ну это хорошо когда field_4 принимает только 1 и 0.
А вот такой пример:
-----|-----|
Вася Водка
Вася Водка
Петя Пиво
Вася Пиво
Вася Водка
Петя Пиво
-----|-----|
Как получить такой результат :
Имя Пиво Водка
-----|-----|------
Вася 1 3
Петя 2 0
-----|-----|------
Просмотрел Грубера, не увидел как ТАК развернуть запрос...
← →
bushmen © (2004-06-22 09:26) [4]>field_4 принимает только 1 и 0
Вы сами помните, какие условия задачи ставили?
← →
Sandman25 © (2004-06-22 09:36) [5][3] Andrey V. © (22.06.04 08:34)
А вот это уже перекрестный запрос. В принципе реализуется через динамический SQL, но довольно медленно работает, естественно. Поищите в форуме sql.ru по слову "перекрестный"
Страницы: 1 вся ветка
Текущий архив: 2004.07.18;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.036 c