|
Не получается написать запрос
|
|||
---|---|---|---|
#18+
Можно ли суммировать значения из таблички в зависимости от значения поля этойже таблицы? Пример есть таблица IdKln Sm Oper 1 10.00 1 2 15.00 1 3 5.00 1 2 7.00 2 3 12.00 2 Надо получит результат запроса в виде Клиент Сумма по Sm(усли Oper=1) Сумма по Sm(усли Oper=2) (IdKln) (sum(Sm) ???????) (sum(Sm) ???????) 1 10.00 0.00 2 15.00 7.00 3 7.00 12.00 Заранее благодарен за помощь. С уважением Павел Олексенко. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2000, 13:21 |
|
Не получается написать запрос
|
|||
---|---|---|---|
#18+
По идее надо написать так: select IdKln, sum(Sm), Oper from tbl group by IdKln, Oper Но что бы суммы получить в два столбца, надо будет писать со вложенными запросами, что будет выглядеть не очень красиво и очень длинно. Но это уже надо думать. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2000, 13:37 |
|
Не получается написать запрос
|
|||
---|---|---|---|
#18+
По идее легче написать вот так: select IdKln, Sum1=case when Oper=1 then Sum(Sm) else 0 end, Sum2=case when Oper=2 then Sum(Sm) else 0 end from tbl group by IdKln, Oper и получить вот это: 1 10.0 0.0 2 15.0 0.0 3 5.0 0.0 2 0.0 7.0 3 0.0 12.0 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2000, 14:20 |
|
Не получается написать запрос
|
|||
---|---|---|---|
#18+
Маленькая правка: SELECT A.IdKln,SUM(A.Sum1),SUM(A.Sum2) FROM (select IdKln, Sum1=case when Oper=1 then Sum(Sm) else 0 end, Sum2=case when Oper=2 then Sum(Sm) else 0 end from #Ex group by IdKln , Oper) AS A GROUP BY A.IdKln ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2000, 15:33 |
|
|
start [/forum/topic.php?fid=46&fpage=3597&tid=1827627]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 143ms |
0 / 0 |