Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.019 c
6-1084704629
delpher_gray
2004-05-16 14:50
2004.07.18
HTTP Get, через TClientSocket


3-1088071800
чайник1
2004-06-24 14:10
2004.07.18
Копирование ячейки


3-1087997184
som
2004-06-23 17:26
2004.07.18
Поиск по DataSet


1-1089190623
CyberSpy2
2004-07-07 12:57
2004.07.18
Перемещение


1-1088668765
Dysan
2004-07-01 11:59
2004.07.18
grid с обьединением ячеек




   Наверх