powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Сложный SELECT
6 сообщений из 6, страница 1 из 1
Сложный SELECT
    #32644916
Cyr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cyr
Гость
Есть табличка с полями:
Name - строка(Сотрудник)
CalKind- число (1-начисения, 2-удержания)
Result - число (Сумма)

Требуется вывести в одном запросе:

name;
sum(Result) where CalKind=1;
sum(Result) where CalKind=2;
(sum(Result) where CalKind=1) - (sum(Result) where CalKind=2)

Как?
...
Рейтинг: 0 / 0
Сложный SELECT
    #32645327
zayac
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
select 
  t1.name,
  t1.res,
  t2.res,
  t1.res-t2.res
from 
    (select name,sum(result) res from test where calkind= 1  group by name) t1,
    (select name,sum(result) res from test where calkind= 2  group by name) t2
where
    t1.name=t2.name
...
Рейтинг: 0 / 0
Сложный SELECT
    #32645993
Cyr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cyr
Гость
А этот запрос должен везде работать?
у меня SQL Explorer из Delphi выдаёт ошибку:
'Invalid use of keyword.
Token: select
Line number: 7'
Не нравится ему select во from...
...
Рейтинг: 0 / 0
Сложный SELECT
    #32649776
Dedushka Mazai
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select name, sum(result*(2-calkind)), sum(result*(calkind-1)), sum(result*(2-calkind)) - sum(result*(calkind-1))
from table1
group by name
...
Рейтинг: 0 / 0
Сложный SELECT
    #32651156
Cyr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cyr
Гость
Dedushka Mazai
Интересный вариант. Спасибо.
А вот если видов CalKind будет не 2 а много, тогда как?
...
Рейтинг: 0 / 0
Сложный SELECT
    #32654907
Dedushka Mazai
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
никак. тогда надо будет группировать по name, calkind:

select sum(result), name, calkind from table1 group by name, calkind

а на клиенте уже обрабатывать как тебе надо
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Сложный SELECT
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]