powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Объединить несколько таблиц и получить одну таблицу
25 сообщений из 54, страница 2 из 3
Объединить несколько таблиц и получить одну таблицу
    #39622993
asdor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ularsoft,
Кажется вам уже говорили, приведите структуру данных, с тестовыми наборами.
Неужели это кто то должен за вас делать?

И вам тут же предложат кучу вариантов.

Принцип же таков. Данные готовятся на сервере (Вьюха, либо ХП) а клиент их получает и показывает.
И это не только к этой задаче...
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39623205
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

Не могу вытащить сумму...
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39623256
asdor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ularsoft,
Какую сумму?
Мы ж не видим вашего экрана, ваших данных.
Хотите ответа, выкладывайте инфу, что не выходит. )
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39623280
ularsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
asdorКажется вам уже говорили, приведите структуру данных, с тестовыми наборами.Таблица DOKOD:
Код: sql
1.
2.
3.
4.
5.
6.
7.
[DO_KODV] - код валюты
[DO_DATE] - дата
[DO_LC1] - дебет
[DO_LC2] - кредит
[DO_SUMV] - сумма в инвалюте
[DO_SUMN] - сумма в нацвалюте
[DO_ST] - код страны

Таблица SPRSTR:
Код: sql
1.
2.
[s_kod] - код страны
[s_nam] - название страны

По дебету: входящие сообщения
Код: sql
1.
2.
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%'

Из них: Финансовые
Код: sql
1.
2.
3.
4.
SUBSTR(do_lc2,4,5)!='20002' AND SUBSTR(do_lc2,4,5)!='20004' AND SUBSTR(do_lc2,4,5)!='20201' 
AND SUBSTR(do_lc2,4,5)!='20202' AND SUBSTR(do_lc2,4,5)!='20211' AND SUBSTR(do_lc2,4,5)!='20214' 
AND SUBSTR(do_lc2,4,5)!='20003' AND SUBSTR(do_lc2,4,5)!='20006' AND SUBSTR(do_lc2,4,5)!='20013' 
AND SUBSTR(do_lc2,4,5)!='20021' AND SUBSTR(do_lc2,4,5)!='20031'

Торговые
Код: sql
1.
IF SUBSTR(do_lc2,4,5)='20002' OR SUBSTR(do_lc2,4,5)='20004'

Переводы
Код: sql
1.
2.
3.
IF SUBSTR(do_lc2,4,5)='20201' OR SUBSTR(do_lc2,4,5)='20202' OR SUBSTR(do_lc2,4,5)='20211' 
OR SUBSTR(do_lc2,4,5)='20214' OR SUBSTR(do_lc2,4,5)='20003' OR SUBSTR(do_lc2,4,5)='20006' 
OR SUBSTR(do_lc2,4,5)='20013' OR SUBSTR(do_lc2,4,5)='20021' OR SUBSTR(do_lc2,4,5)='20031'



По кредиту исходящие сообщения
Код: sql
1.
2.
do_lc2 like '127101022%' or do_lc2 like '127101023%' or do_lc2 like '127101024%' 
or do_lc2 like '127101025%' or do_lc2 like '127101026%' or do_lc2 like '127101029%'

Из них: Финансовые
Код: sql
1.
2.
3.
4.
SUBSTR(do_lc1,4,5)!='20002' AND SUBSTR(do_lc1,4,5)!='20004' AND SUBSTR(do_lc1,4,5)!='20201' 
AND SUBSTR(do_lc1,4,5)!='20202' AND SUBSTR(do_lc1,4,5)!='20211' AND SUBSTR(do_lc1,4,5)!='20214' 
AND SUBSTR(do_lc1,4,5)!='20003' AND SUBSTR(do_lc1,4,5)!='20006' AND SUBSTR(do_lc1,4,5)!='20013' 
AND SUBSTR(do_lc1,4,5)!='20021' AND SUBSTR(do_lc1,4,5)!='20031'

Торговые
Код: sql
1.
IF SUBSTR(do_lc1,4,5)='20002' OR SUBSTR(do_lc1,4,5)='20004'

Переводы
Код: sql
1.
2.
3.
IF SUBSTR(do_lc1,4,5)='20201' OR SUBSTR(do_lc1,4,5)='20202' OR SUBSTR(do_lc1,4,5)='20211' 
OR SUBSTR(do_lc1,4,5)='20214' OR SUBSTR(do_lc1,4,5)='20003' OR SUBSTR(do_lc1,4,5)='20006' 
OR SUBSTR(do_lc1,4,5)='20013' OR SUBSTR(do_lc1,4,5)='20021' OR SUBSTR(do_lc1,4,5)='20031'
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39623285
ularsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые знатоки, теперь необходимо получить кросс-таблицу в ms sql горизонтально по валютам, вертикально по странам, по типу сообщений (входящие: Финансовые, Торговые, Переводы и исходящие: Финансовые, Торговые, Переводы)
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39623290
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ularsoftasdorКажется вам уже говорили, приведите структуру данных, с тестовыми наборами.Таблица DOKOD:
Код: sql
1.
2.
3.
4.
5.
6.
7.
[DO_KODV] - код валюты
[DO_DATE] - дата
[DO_LC1] - дебет
[DO_LC2] - кредит
[DO_SUMV] - сумма в инвалюте
[DO_SUMN] - сумма в нацвалюте
[DO_ST] - код страны



Нет, это просто ппц какой-то. А типы данных мы должны угадать? Или использовать какие попало? Вы не умеете получать структуру таблиц на сервере в виде кода создания таблиц?
И где тестовые наборы данных? Опять мы сами их должны придумать?
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39623295
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ularsoftУважаемые знатоки, теперь необходимо получить кросс-таблицу в ms sql горизонтально по валютам, вертикально по странам, по типу сообщений (входящие: Финансовые, Торговые, Переводы и исходящие: Финансовые, Торговые, Переводы)Вместо повторения того, что и так всем ясно, лучше выполнили то, что от вас просят. Разумеется, если таки хотите получить помощь. Кстати, на, опять же, повторенной картинке с изображением таблички Excel нет совершенно ничего про финансовые, торговые и т.д.
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39623302
asdor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey SizovularsoftУважаемые знатоки, теперь необходимо получить кросс-таблицу в ms sql горизонтально по валютам, вертикально по странам, по типу сообщений (входящие: Финансовые, Торговые, Переводы и исходящие: Финансовые, Торговые, Переводы)Вместо повторения того, что и так всем ясно, лучше выполнили то, что от вас просят. Разумеется, если таки хотите получить помощь. Кстати, на, опять же, повторенной картинке с изображением таблички Excel нет совершенно ничего про финансовые, торговые и т.д.
+100500
Посмотрел, топик начат 22.03 Я еще в отпуске был)))
Если б ТС сразу привел структуру, сказал про МС, и привел тестовые наборы данных, 23.03 думаю проблема бы решилась.
Конечно, это больший труд, чем лаконичные вопросы))))

Сегодня 30.03 ))))
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39623308
ularsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey SizovА типы данных мы должны угадать? Или использовать какие попало? Вы не умеете получать структуру таблиц на сервере в виде кода создания таблиц? И где тестовые наборы данных? Опять мы сами их должны придумать?Простите
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
[dokod](
	[DO_KODV] [char](3) NOT NULL,
	[DO_DATE] [datetime] NOT NULL,
	[DO_LC1] [char](16) NOT NULL,
	[DO_LC2] [char](16) NOT NULL,
	[DO_SUMV] [numeric](15, 2) NULL,
	[DO_SUMN] [numeric](15, 2) NULL,
	[DO_ST] [smallint] NOT NULL)

Код: sql
1.
2.
3.
[sprstr](
	[s_kod] [smallint] NOT NULL,
	[s_nam] [varchar](80) NULL)

Код: sql
1.
2.
3.
4.
[sprval](
	[id3] [int] IDENTITY(1,1) NOT NULL,
	[V_KODV] [char](3) NOT NULL,
	[V_NAMV] [varchar](40) NULL)
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39623315
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ularsoft,

ну, а тестовые данные? Или начнете нам рассказывать про жуткую секретность справочников валют и стран?
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39623316
asdor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ularsoft,
Упорствуете?))))
Не надо извиняться)))
Думаете это нам надо. Решение)
Нормальную структуру
Create table...
И через insert наборы данных
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39623321
ularsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey Sizovularsoft,

ну, а тестовые данные? Или начнете нам рассказывать про жуткую секретность справочников валют и стран?Я не знаю как вставить данные (((
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39623325
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asdor,
да ладно, таблички я наконец-то создал. Правда пустые. Валюты из кусков его кода можно понатаскать, со странами облом, не говоря уж об основной таблице фактов. :)
Я пока займусь созданием вспомогательных таблиц чтобы не рябило в глазах от всяческих магических чисел.
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39623335
ularsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey Sizovasdor,
да ладноРеально я не знаю )))
Справочник стран, примерно вот так:
Код: sql
1.
2.
3.
4.
5.
9604	ПЕРУ 
9608	ФИЛИПИНЫ 
9612	ПИТКЕРН 
9616	ПОЛЬША 
9620	ПОРТУГАЛИЯ 
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39623341
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ularsoft,

ну хотя бы примерно так и с валютами, и с основной таблицей. Справочники можно полностью (наверняка они небольшие), а из основной сделать выборку, например, последних пары десятков записей.
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39623349
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ularsoftСправочник стран, примерно вот так:
Код: sql
1.
2.
3.
4.
5.
9604	ПЕРУ 
9608	ФИЛИПИНЫ 
9612	ПИТКЕРН 
9616	ПОЛЬША 
9620	ПОРТУГАЛИЯ 


В идеале это должно было выглядеть так:
Код: sql
1.
2.
3.
4.
5.
6.
Insert into sprstr values 
(9604, 'ПЕРУ' ),
(9608, 'ФИЛИПИНЫ' ),
(9612, 'ПИТКЕРН' ),
(9616, 'ПОЛЬША' ),
(9620, 'ПОРТУГАЛИЯ' )
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39623353
ularsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey Sizovularsoft,

ну хотя бы примерно так и с валютами.
Код: sql
1.
2.
3.
840	Доллар США(USD) 
978	ЕВРО(EURO) 
398	Тенге KZT 
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39623370
ularsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey Sizovularsoft,

ну хотя бы примерно так и с основной таблицей.
Код: sql
1.
2.
3.
4.
	Дт			Кт		Сумма	Вал	Дата		Страна
VVV11519XXXXXXXX	VVV10102ХХХХХХХХ	18	840	09.05.2005	9604
VVV11519XXXXXXXX	VVV10102ХХХХХХХХ	130	978	09.05.2005	9608
VVV20002XXXXXXXX	VVV10102YYYYYYYY	46	398	09.05.2005	9612
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39623398
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ularsoftVVV11519XXXXXXXX VVV10102ХХХХХХХХ
VVV11519XXXXXXXX VVV10102ХХХХХХХХ
VVV20002XXXXXXXX VVV10102YYYYYYYYПрекрасные тестовые данные. Ибо ни под одно из представленных в данном топике условий не подходят...
У вас действительно счета начинаются с VVV?
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39623546
ularsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey SizovПрекрасные тестовые данные. Ибо ни под одно из представленных в данном топике условий не подходят...
У вас действительно счета начинаются с VVV?
Уважаемый Sergey, это просто примеры...
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39623551
ularsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ularsoftУважаемый Sergey, это просто примеры...Вместо VVV или 127 можно поставить что угодно. Можно 444 или 567 или 832 и проверить... Необязательно же тут реальные коды выставить...
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39623562
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ularsoftSergey SizovПрекрасные тестовые данные. Ибо ни под одно из представленных в данном топике условий не подходят...
У вас действительно счета начинаются с VVV?
Уважаемый Sergey, это просто примеры...Прелестно. Теперь попробуйте объяснить это серверу.
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39623567
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ularsoftularsoftУважаемый Sergey, это просто примеры...Вместо VVV или 127 можно поставить что угодно. Можно 444 или 567 или 832 и проверить... Необязательно же тут реальные коды выставить...А реальные никто и не просил. Но хоть немного подходящие под условия задачи можно было сделать? Из чего вы тут собрались делать секрет? Из плана счетов кредитных организаций? Так он один, обязателен для всех банков, и находится в свободном доступе на сайте Центробанка.
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39623584
ularsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Скажите плз, чего еще не хватает?
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39623828
asdor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ularsoft,
Я бы посоветовал, не расчитывать, на трудолюбие отвечающих.
Вчера у Сергея было время, завтра не будет...
Напишите скрипт создания таблиц, и заполнения их тестовыми данными, а далее, что вы из этих данных хотите получить.

Посмотрите как задают вопросы на форуме Microsoft SQL Server

И коли не знаете как создать скрипт - научитесь.

Поработайте немного, помогите отвечающим, и будет вам счастье.
На самом деле, сможете задать этот же вопрос и другом форуме, и вам тут же ответят.

Вопросы надо задавать не в техническом стиле, а не в стиле "Война и мир" )))
...
Рейтинг: 0 / 0
25 сообщений из 54, страница 2 из 3
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Объединить несколько таблиц и получить одну таблицу
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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