powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Объединить несколько таблиц и получить одну таблицу
4 сообщений из 54, страница 3 из 3
Объединить несколько таблиц и получить одну таблицу
    #39624123
asdor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ularsoftСделал вот такой запрос:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
select 'Входящие' as message,do_st,
sum(case when DO_KODV=840 then 1 else 0 end) as usd_kol,
sum(case when DO_KODV=978 then 1 else 0 end) as eur_kol,
sum(case when DO_KODV=398 then 1 else 0 end) as kzt_kol,
sum(case when DO_KODV=826 then 1 else 0 end) as gbp_kol,
sum(case when DO_KODV=392 then 1 else 0 end) as jpy_kol,
sum(case when DO_KODV=643 then 1 else 0 end) as rub_kol
from dokod as d inner join sprstr as s
on d.DO_ST=s.s_kod
where do_date between '20180301' and '20180401'
and (do_lc1 like '127101022%' or do_lc1 like '127101023%' or do_lc1 like '127101024%' 
  or do_lc1 like '127101025%' or do_lc1 like '127101026%' or do_lc1 like '127101029%')
and substring(do_lc2,4,5)<>'60303' and do_kodv<>'417'
group by DO_ST

Не могу вытащить сумму...
Понял о какой сумме речь)
Все аналогично количеству, только вместо 1, конкретную сумму.
Допустим она у вас в поле qty
Тогда будет так
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
select 'Входящие' as message,do_st,
sum(case when DO_KODV=840 then 1 else 0 end) as usd_kol,
sum(case when DO_KODV=978 then 1 else 0 end) as eur_kol,
sum(case when DO_KODV=398 then 1 else 0 end) as kzt_kol,
sum(case when DO_KODV=826 then 1 else 0 end) as gbp_kol,
sum(case when DO_KODV=392 then 1 else 0 end) as jpy_kol,
sum(case when DO_KODV=643 then 1 else 0 end) as rub_kol

sum(case when DO_KODV=840 then qty else 0 end) as usd_sum,
...
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39624125
asdor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще же, в MS SQL для этих целей используется Pivot.
Почитайте про него.
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39625427
ularsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
asdorПонял о какой сумме речь)
Все аналогично количеству, только вместо 1, конкретную сумму.
Допустим она у вас в поле qty
Тогда будет так
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
select 'Входящие' as message,do_st,
sum(case when DO_KODV=840 then 1 else 0 end) as usd_kol,
sum(case when DO_KODV=978 then 1 else 0 end) as eur_kol,
sum(case when DO_KODV=398 then 1 else 0 end) as kzt_kol,
sum(case when DO_KODV=826 then 1 else 0 end) as gbp_kol,
sum(case when DO_KODV=392 then 1 else 0 end) as jpy_kol,
sum(case when DO_KODV=643 then 1 else 0 end) as rub_kol

sum(case when DO_KODV=840 then qty else 0 end) as usd_sum,
...

Наконец-то!!!
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39625476
asdor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ularsoftНаконец-то!!!
Так я сразу спросил, что за сумма.
Вы ж в партизаны ушли)
Или думаете, тут все помнят, что вы писали в самом начале)))
Перечитал - понял, написал)
...
Рейтинг: 0 / 0
4 сообщений из 54, страница 3 из 3
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Объединить несколько таблиц и получить одну таблицу
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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