powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите SELECT написать HELP!
3 сообщений из 3, страница 1 из 1
Помогите SELECT написать HELP!
    #32053366
vdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть табличка:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Struct_Name1  Work_Code inout count summa
Бухгалтерия   PERM       2       4        100 
Бухгалтерия   SUB        2       4        0 
Отдел кадров  PERM       1       1        200 
Логистика     PERM       2       1        300 
Финансы       PERM       1       3        400 
Финансы       PERM       2       4        500 
Финансы       TEMP       2       21       600 
Финансы       SUB        1       1        0 
Финансы       SUB        2       219      0 
Продажи       PERM       1       2        700 
Продажи       PERM       2       2        800 
Продажи       TEMP       1       3        900 
Продажи       TEMP       2       7        1000 
Продажи       SUB        1       3        0 
Продажи       SUB        2       11       0 
Доставка      PERM       1       5        1100 
Доставка      PERM       2       8        1200 
Доставка      SUB        1       1        0 
Доставка      SUB        2       1        0 

Нужно чтобы получилась табличка такого плана:
Код: plaintext
1.
2.
3.
4.
5.
6.
Struct_Name1 PERM_C PERM_S TEMP_C TEMP_S SUB_C SUB_SUM
Бухгалтерия  - 4 	    - 100      0        0      - 4       0 
Финансы      - 1      - 100    - 21     - 600    - 218     0 
Отдел кадров   1        200      0        0        0       0 
Логистика    - 1      - 300      0        0        0       0 
Продажи        0      - 100    - 4      - 100    - 8       0 
Доставка     - 3      - 100      0        0        0       0 

Для каждого значения поля work_code создается два поля количество и сумма (напр perm_c, perm_s).
Поле inout может принимать два значения 1 или 2.
Если inout=1 то значения полей count,summa участвуют в суммировании со знаком плюс, если inout=2, то с минусом.
Спасибо.
...
Рейтинг: 0 / 0
Помогите SELECT написать HELP!
    #32053382
Yossarian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select Struct_Name1,
isnull((select sum(count) from T T1 where T1.Struct_Name1 = T.Struct_Name1 and Work_Code='PERM' and inout=1),0)-
isnull((select sum(count) from T T1 where T1.Struct_Name1 = T.Struct_Name1 and Work_Code='PERM' and inout=2),0) PERM_C,
isnull((select sum(summa) from T T1 where T1.Struct_Name1 = T.Struct_Name1 and Work_Code='PERM' and inout=1),0)-
isnull((select sum(summa) from T T1 where T1.Struct_Name1 = T.Struct_Name1 and Work_Code='PERM' and inout=2),0) PERM_S
from T group by Struct_Name1

остальные поля - по образу и подобию.
...
Рейтинг: 0 / 0
Помогите SELECT написать HELP!
    #32053403
vdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо. Помогло
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите SELECT написать HELP!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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