powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Объединить несколько таблиц и получить одну таблицу
25 сообщений из 54, страница 1 из 3
Объединить несколько таблиц и получить одну таблицу
    #39618924
ularsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!

Имеются таблицы в MS SQL.
1. t1 - справочник стран
t1_1 - код
t1_2 - наименование

2. t2 - справочник валют
t2_1 - код
t2_2 - наименование

3. t3 - ежедневные операции с колонками:
t3_1 - дата операции
t3_2 - код валюты
t3_3 - счет дебета
t3_3 - счет кредита
t3_5 - сумма
t3_6 - код страны

Мне нужно эти таблицы объединить в один курсор и вытащить в excel.

Делаю следующий запрос, но этого не достаточно:
Код: sql
1.
2.
select t3_2 as валюта, count(*) as количество, sum(t3_5) as сумма from T3 where t3_1 between 
m_date1 and m_date2 and (t3_3 like 'XXXXX%' or t3_3 like 'YYYYY%') group by t3_2


А дальше не могу делать в разрезе стран (горизонтально) и валют (вертикально). Есть у кого какие- нибудь идеи?
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39618938
ularsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На рисунке выходная форма
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39619733
ularsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые знатоки, поделитесь плз идеями...
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39619829
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ularsoftДоброго времени суток!

Имеются таблицы в MS SQL.
1. t1 - справочник стран
t1_1 - код
t1_2 - наименование

2. t2 - справочник валют
t2_1 - код
t2_2 - наименование

3. t3 - ежедневные операции с колонками:
t3_1 - дата операции
t3_2 - код валюты
t3_3 - счет дебета
t3_3 - счет кредита
t3_5 - сумма
t3_6 - код страны

Мне нужно эти таблицы объединить в один курсор и вытащить в excel.

Делаю следующий запрос, но этого не достаточно:
Код: sql
1.
2.
select t3_2 as валюта, count(*) as количество, sum(t3_5) as сумма from T3 where t3_1 between 
m_date1 and m_date2 and (t3_3 like 'XXXXX%' or t3_3 like 'YYYYY%') group by t3_2


А дальше не могу делать в разрезе стран (горизонтально) и валют (вертикально). Есть у кого какие- нибудь идеи?А дальше делается выборка на три поля, определяющих строку, колонку и значение на их пересечении, которая потом скармливается на вход штатного для фокса создателя шахматок vfpXtab. Результат работы скармливается Excel и в нём оформляется.
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39619897
ularsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey SizovДелается выборка на три поля, определяющих строку, колонку и значение на их пересечении, которая потом скармливается на вход штатного для фокса создателя шахматок vfpXtab. Результат работы скармливается Excel и в нём оформляется.Будьте добры, приведите примеры плз...
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39619939
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ularsoft, долго писать.
Откройте в фоксе Task Pane, на закладе Solution Samples в окно поиска введите Cross-tab и изучите пример. В исходниках.
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39622512
ularsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделал такой запрос для входящих сообщений:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
m_sql="SELECT "+; 
"'Входящие' as direction,"+;
"DO_KODV, DO_SUMV, DO_SUMN, DO_ST,"+;
"do_lc2 as do_lc,k.kl_stat "+;
"FROM dokod d (nolock), dbmaslc l (nolock), klient k(nolock) "+;
"WHERE DO_DATE between "+;
Convparm(m_date1)+" and "+Convparm(m_date2)+;
"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' "+;
"and do_kodv=ml_kodv and do_lc2=ml_lc and d.kodb=l.kodb and l.ML_KODKL=k.kl_kod"
ok=oODED.Exec_sp(m_sql,'t1')


Записываю входящие сообщения в курсор SW
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
SELECT t1
SCAN
SELECT SW
APPEND BLANK 
REPLACE sw_tip    WITH t1.direction
REPLACE sw_kodv   WITH t1.DO_KODV
REPLACE sw_sumv   WITH t1.DO_SUMV
REPLACE sw_sumn   WITH t1.DO_SUMN
REPLACE sw_strana WITH IIF(ISNULL(t1.DO_ST),0,t1.DO_ST)
REPLACE sw_lc     WITH t1.do_lc
REPLACE sw_stat   WITH t1.kl_stat
IF SUBSTR(sw_lc,4,5)!='20002' AND SUBSTR(sw_lc,4,5)!='20004' AND SUBSTR(sw_lc,4,5)!='20201' AND SUBSTR(sw_lc,4,5)!='20202' AND SUBSTR(sw_lc,4,5)!='20211' AND SUBSTR(sw_lc,4,5)!='20214' 
AND SUBSTR(sw_lc,4,5)!='20003' AND SUBSTR(sw_lc,4,5)!='20006' AND SUBSTR(sw_lc,4,5)!='20013' AND SUBSTR(sw_lc,4,5)!='20021' AND SUBSTR(sw_lc,4,5)!='20031'
REPLACE sw_vid    WITH 'Финансовые'
ENDIF
IF SUBSTR(sw_lc,4,5)='20002' OR SUBSTR(sw_lc,4,5)='20004'
REPLACE sw_vid    WITH 'Торговые'
ENDIF
IF SUBSTR(sw_lc,4,5)='20201' OR SUBSTR(sw_lc,4,5)='20202' OR SUBSTR(sw_lc,4,5)='20211' OR SUBSTR(sw_lc,4,5)='20214' OR SUBSTR(sw_lc,4,5)='20003' OR SUBSTR(sw_lc,4,5)='20006' 
OR SUBSTR(sw_lc,4,5)='20013' OR SUBSTR(sw_lc,4,5)='20021' OR SUBSTR(sw_lc,4,5)='20031'
REPLACE sw_vid    WITH 'Переводы'
ENDIF
ENDSCAN


Сделал такой запрос для исходящих сообщений:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
m_sql="SELECT "+;
"'Исходящие' as direction,"+;
"DO_KODV, DO_SUMV, DO_SUMN, DO_ST,"+;
"do_lc1 as do_lc,k.kl_stat "+;
"FROM bankadm.dokod d (nolock), bankadm.dbmaslc l (nolock), bankadm.klient k(nolock) "+;
"WHERE DO_DATE between "+;
Convparm(m_date1)+" and "+Convparm(m_date2)+;
"and (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%') "+;
"and substring(do_lc1,4,5)<>'60303' and do_kodv<>'417' "+;
"and do_kodv=ml_kodv and do_lc1=ml_lc and l.ML_KODKL=k.kl_kod"
ok=oODED.Exec_sp(m_sql,'t2')


Записываю исходящие сообщения в курсор SW
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
SELECT t2
SCAN
SELECT SW
APPEND BLANK 
REPLACE sw_tip    WITH t2.direction
REPLACE sw_kodv   WITH t2.DO_KODV
REPLACE sw_sumv   WITH t2.DO_SUMV
REPLACE sw_sumn   WITH t2.DO_SUMN
REPLACE sw_strana WITH IIF(ISNULL(t1.DO_ST),0,t1.DO_ST)
REPLACE sw_lc     WITH t2.do_lc
REPLACE sw_stat   WITH t2.kl_stat
IF SUBSTR(sw_lc,4,5)!='20002' AND SUBSTR(sw_lc,4,5)!='20004' AND SUBSTR(sw_lc,4,5)!='20201' AND SUBSTR(sw_lc,4,5)!='20202' AND SUBSTR(sw_lc,4,5)!='20211' AND SUBSTR(sw_lc,4,5)!='20214' 
AND SUBSTR(sw_lc,4,5)!='20003' AND SUBSTR(sw_lc,4,5)!='20006' AND SUBSTR(sw_lc,4,5)!='20013' AND SUBSTR(sw_lc,4,5)!='20021' AND SUBSTR(sw_lc,4,5)!='20031'
REPLACE sw_vid    WITH 'Финансовые'
ENDIF
IF SUBSTR(sw_lc,4,5)='20002' OR SUBSTR(sw_lc,4,5)='20004'
REPLACE sw_vid    WITH 'Торговые'
ENDIF
IF SUBSTR(sw_lc,4,5)='20201' OR SUBSTR(sw_lc,4,5)='20202' OR SUBSTR(sw_lc,4,5)='20211' OR SUBSTR(sw_lc,4,5)='20214' OR SUBSTR(sw_lc,4,5)='20003' OR SUBSTR(sw_lc,4,5)='20006' 
OR SUBSTR(sw_lc,4,5)='20013' OR SUBSTR(sw_lc,4,5)='20021' OR SUBSTR(sw_lc,4,5)='20031'
REPLACE sw_vid    WITH 'Переводы'
ENDIF
ENDSCAN

Далее, создаю другой курсор R21J и записываю данные из SW:
Код: sql
1.
2.
3.
4.
5.
6.
CREATE CURSOR R21J (r_tip c(10), r_vid c(10), r_val c(3), r_strana int, r_sum n(15,2))
SELECT SW
SCAN 
	INSERT INTO R21J (r_tip,r_vid,r_val,r_strana,r_sum ) ;
	      VALUES (SW.sw_tip,SW.sw_vid,SW.sw_kodv,SW.sw_strana,SW.sw_sumn)
ENDSCAN
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39622513
ularsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Результат на следующей рисунке
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39622516
ularsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как мне раскидать из курсора R21J по следующей таблице?
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39622519
ularsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
т.е. следующим образом в эксель выгрузить в разрезе валют:

Россия (всего):
- Входящие
- Исходящие

из них:
- Финансовые
- Торговые
- Переводы

Бельгия (всего):
- Входящие
- Исходящие

из них:
- Финансовые
- Торговые
- Переводы
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39622524
ularsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ularsoftт.е. следующим образом в эксель выгрузить в разрезе валют:

Россия (всего):
- Входящие
- Исходящие

из них:
- Финансовые
- Торговые
- Переводы

Бельгия (всего):
- Входящие
- Исходящие

из них:
- Финансовые
- Торговые
- Переводыиз них:
- Финансовые
-------Входящие
-------Исходящие
- Торговые
-------Входящие
-------Исходящие
- Переводы
-------Входящие
-------Исходящие
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39622577
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ularsoftКак мне раскидать из курсора R21J по следующей таблице?Еще раз - никак. Это шахматка, у америкосов это Cross-Tab report. В фоксе для получения таких таблиц предназначен идущий в поставке VFPXTAB.prg, на вход которому надо передать таблицу/курсор из 3(Трёх) полей - значение для заголовка строки, значение для заголовка колонки и значение на их пересечении.
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39622619
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ularsoft,
куча кода, который невозможно запустить. И что с ним делать? Любоваться?
Могу покритиковать.
1. Г.код типа
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
IF SUBSTR(sw_lc,4,5)!='20002' AND SUBSTR(sw_lc,4,5)!='20004' AND SUBSTR(sw_lc,4,5)!='20201' AND SUBSTR(sw_lc,4,5)!='20202' AND SUBSTR(sw_lc,4,5)!='20211' AND SUBSTR(sw_lc,4,5)!='20214' 
AND SUBSTR(sw_lc,4,5)!='20003' AND SUBSTR(sw_lc,4,5)!='20006' AND SUBSTR(sw_lc,4,5)!='20013' AND SUBSTR(sw_lc,4,5)!='20021' AND SUBSTR(sw_lc,4,5)!='20031'
REPLACE sw_vid    WITH 'Финансовые'
ENDIF
IF SUBSTR(sw_lc,4,5)='20002' OR SUBSTR(sw_lc,4,5)='20004'
REPLACE sw_vid    WITH 'Торговые'
ENDIF
IF SUBSTR(sw_lc,4,5)='20201' OR SUBSTR(sw_lc,4,5)='20202' OR SUBSTR(sw_lc,4,5)='20211' OR SUBSTR(sw_lc,4,5)='20214' OR SUBSTR(sw_lc,4,5)='20003' OR SUBSTR(sw_lc,4,5)='20006' 
OR SUBSTR(sw_lc,4,5)='20013' OR SUBSTR(sw_lc,4,5)='20021' OR SUBSTR(sw_lc,4,5)='20031'
REPLACE sw_vid    WITH 'Переводы'


легко и свободно заменяется табличкой с балансовыми счетами и категориями, к которым они относятся.
2. Код
Код: sql
1.
2.
3.
4.
5.
6.
CREATE CURSOR R21J (r_tip c(10), r_vid c(10), r_val c(3), r_strana int, r_sum n(15,2))
SELECT SW
SCAN 
	INSERT INTO R21J (r_tip,r_vid,r_val,r_strana,r_sum ) ;
	      VALUES (SW.sw_tip,SW.sw_vid,SW.sw_kodv,SW.sw_strana,SW.sw_sumn)
ENDSCAN


опять же легко и свободно заменяется на
Код: sql
1.
2.
INSERT INTO R21J (r_tip,r_vid,r_val,r_strana,r_sum ) ;
  select sw_tip,sw_vid,sw_kodv,sw_strana,sw_sumn from SW
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39622645
ularsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey, да я согласен.
У меня в ms sql имеется бд и нужные мне таблицы.
1. dokod - ежедневные транзакции
2. dbmaslc - массив счетов
3. sprstr - справочник стран
4. sprval - справочник валют
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
IF SUBSTR(sw_lc,4,5)!='20002' AND SUBSTR(sw_lc,4,5)!='20004' AND SUBSTR(sw_lc,4,5)!='20201' AND SUBSTR(sw_lc,4,5)!='20202' AND SUBSTR(sw_lc,4,5)!='20211' AND SUBSTR(sw_lc,4,5)!='20214' 
AND SUBSTR(sw_lc,4,5)!='20003' AND SUBSTR(sw_lc,4,5)!='20006' AND SUBSTR(sw_lc,4,5)!='20013' AND SUBSTR(sw_lc,4,5)!='20021' AND SUBSTR(sw_lc,4,5)!='20031'
REPLACE sw_vid    WITH 'Финансовые'
ENDIF
IF SUBSTR(sw_lc,4,5)='20002' OR SUBSTR(sw_lc,4,5)='20004'
REPLACE sw_vid    WITH 'Торговые'
ENDIF
IF SUBSTR(sw_lc,4,5)='20201' OR SUBSTR(sw_lc,4,5)='20202' OR SUBSTR(sw_lc,4,5)='20211' OR SUBSTR(sw_lc,4,5)='20214' OR SUBSTR(sw_lc,4,5)='20003' OR SUBSTR(sw_lc,4,5)='20006' 
OR SUBSTR(sw_lc,4,5)='20013' OR SUBSTR(sw_lc,4,5)='20021' OR SUBSTR(sw_lc,4,5)='20031'
REPLACE sw_vid    WITH 'Переводы'

Т.е. сначала я беру из таблицы DOKOD нужные мне поля, затем я определяю по балансовым счетам типы сообщений, иначе ни как.
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39622656
ularsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Далее, по дебету, т.е. это do_lc1
Код: sql
1.
2.
3.
4.
"WHERE DO_DATE between "+;
Convparm(m_date1)+" and "+Convparm(m_date2)+;
"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' "+;



Далее, по кредиту, т.е. это do_lc2
Код: sql
1.
2.
3.
4.
"WHERE DO_DATE between "+;
Convparm(m_date1)+" and "+Convparm(m_date2)+;
"and (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%') "+;
"and substring(do_lc1,4,5)<>'60303' and do_kodv<>'417' "+;


за определенный период беру данные только по этим счетам по дебету do_lc1 - входящие сообщения, по кредиту do_lc2 - исходящие сообщения. Входящие и исходящие сообщения собираю в один курсор и все.
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39622658
ularsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В таблице DOKOD имеются do_kodv - коды валют и do_st - коды стран.
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39622688
asdor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ularsoftУ меня в ms sql имеется бд и нужные мне таблицы.
1. dokod - ежедневные транзакции
2. dbmaslc - массив счетов
3. sprstr - справочник стран
4. sprval - справочник валют


Я бы все это сделал сразу на MS SQL
И получал бы на клиент готовые данные.
А поскольку надо в ексель, то и без фокса можно.
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39622705
ularsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
asdor,
Код: sql
1.
А поскольку надо в ексель, то и без фокса можно.

У меня программа на VFP 8.
Код: sql
1.
Я бы все это сделал сразу на MS SQL и получал бы на клиент готовые данные.

Вот тут по подробнее пожалуйста...
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39622724
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ularsoft
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
IF SUBSTR(sw_lc,4,5)!='20002' AND SUBSTR(sw_lc,4,5)!='20004' AND SUBSTR(sw_lc,4,5)!='20201' AND SUBSTR(sw_lc,4,5)!='20202' AND SUBSTR(sw_lc,4,5)!='20211' AND SUBSTR(sw_lc,4,5)!='20214' 
AND SUBSTR(sw_lc,4,5)!='20003' AND SUBSTR(sw_lc,4,5)!='20006' AND SUBSTR(sw_lc,4,5)!='20013' AND SUBSTR(sw_lc,4,5)!='20021' AND SUBSTR(sw_lc,4,5)!='20031'
REPLACE sw_vid    WITH 'Финансовые'
ENDIF
IF SUBSTR(sw_lc,4,5)='20002' OR SUBSTR(sw_lc,4,5)='20004'
REPLACE sw_vid    WITH 'Торговые'
ENDIF
IF SUBSTR(sw_lc,4,5)='20201' OR SUBSTR(sw_lc,4,5)='20202' OR SUBSTR(sw_lc,4,5)='20211' OR SUBSTR(sw_lc,4,5)='20214' OR SUBSTR(sw_lc,4,5)='20003' OR SUBSTR(sw_lc,4,5)='20006' 
OR SUBSTR(sw_lc,4,5)='20013' OR SUBSTR(sw_lc,4,5)='20021' OR SUBSTR(sw_lc,4,5)='20031'
REPLACE sw_vid    WITH 'Переводы'

Т.е. сначала я беру из таблицы DOKOD нужные мне поля, затем я определяю по балансовым счетам типы сообщений,Я понял ЧТО вы делаете, я не понял почему вы ТАК это делаете. иначе ни как.Да не может быть. Вы точно все варианты испробовали?
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39622731
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ularsoftasdor,
Код: sql
1.
А поскольку надо в ексель, то и без фокса можно.

У меня программа на VFP 8.
Код: sql
1.
Я бы все это сделал сразу на MS SQL и получал бы на клиент готовые данные.

Вот тут по подробнее пожалуйста...А что тут подробней-то писать? Пишете запросы на получение нужных данных и получаете результат. Только не в доFPD-шном стиле, а как положена на t-sql.
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39622748
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ularsoftУ меня в ms sql имеется бд и нужные мне таблицы.Оппачки, как-то я это пропустил. То есть запросы на входящие и исходящие таки для ms sql? Тогда сразу кучка критических замечаний.
1. В фоксе есть команда Text...Endtext. Это по поводу формирования строки с запросом.
2. Самописные функции для перевода значений параметров в строку совершенно не нужны и легко заменяются знаком параметра, коим является вопросительный знак.
3. На какой древней версии ms sql вы работаете? Ибо в последних версиях таблицы через запятую запрещены.
4. Указанные условия отбора напрочь отбивают использование индексов.
Короче, если дадите структуру таблиц, то можно будет набросать примерные запросы на все ваши дела.
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39622758
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В дополнение к предыдущему:
Вот как примерно могло бы выглядеть запрос на входящие:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Text to m_SQL nosho flags 1 pretext 15
SELECT  'Входящие' as direction, DO_KODV, DO_SUMV, DO_SUMN, DO_ST, do_lc2 as do_lc,k.kl_stat
FROM dokod d
inner join dbmaslc l on d.kodb=l.kodb
inner join klient k on l.ML_KODKL=k.kl_kod
WHERE DO_DATE between ?m_date1 and ?m_date2
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' 
and do_kodv=ml_kodv and do_lc2=ml_lc
endtext
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39622760
asdor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey SizovularsoftУ меня в ms sql имеется бд и нужные мне таблицы.Оппачки, как-то я это пропустил. То есть запросы на входящие и исходящие таки для ms sql? Тогда сразу кучка критических замечаний.
1. В фоксе есть команда Text...Endtext. Это по поводу формирования строки с запросом.

А он только написал про это))))
Таится))))
Да не надо никаких Text...Endtext, на МСе надо все делать. Ну может итоги на фоксе прилепить (упростит может)
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39622765
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asdorДа не надо никаких Text...Endtext, на МСе надо все делать. Ну так я ему общие принципы разъясняю. На том, что тут есть. Навряд ли он только для этого топика так запрос формировал.
...
Рейтинг: 0 / 0
Объединить несколько таблиц и получить одну таблицу
    #39622958
ularsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
asdorНе надо никаких Text...Endtext, на МСе надо все делать. Ну может итоги на фоксе прилепить (упростит может)Приведите пожалуйста примеры...
...
Рейтинг: 0 / 0
25 сообщений из 54, страница 1 из 3
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Объединить несколько таблиц и получить одну таблицу
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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