Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Не могу объединить 4 таблицы. Помогите!!!  [new]
Бин
Member

Откуда:
Сообщений: 9
Люди, помогите пожалуйста, не могу объединить для отчета 4 таблицы.
Есть главная и 3 подчиненных таблицы как мне их вместе объединить?

Главная
|=====================
| id | name |
|=====================
| 3A010000 | контракт |
| 3A010200 | служба |
| 3A010100 | участок |


Подчиненная 1
|==================================
| id | sum | date
|==================================
| 3A010000 | 454545,10 | 01/01/2005
| 3A010200 | 567432,00 | 01/01/2005
| 3A010100 | 123478,14 | 01/01/2005

Подчиненная 2
|==================================
| id | sum | date
|==================================
| 3A010000 | 555455,66 | 01/01/2005
| 3A010200 | 567453,99 | 01/01/2005
| 3A010100 | 444568,00 | 01/01/2005

Подчиненная 3
|==================================
| id | sum | date
|==================================
| 3A010000 | 888888,55 | 01/01/2005
| 3A010200 | 666666,02 | 01/01/2005
| 3A010100 | 765438,00 | 01/01/2005
16 ноя 05, 14:30    [2074688]     Ответить | Цитировать Сообщить модератору
 Re: Не могу объединить 4 таблицы. Помогите!!!  [new]
Недоходящий
Member

Откуда:
Сообщений: 912
через select указывая сначала все поля этих таблиц from все названия этих таблиц into cursor mytabs
16 ноя 05, 14:42    [2074775]     Ответить | Цитировать Сообщить модератору
 Re: Не могу объединить 4 таблицы. Помогите!!!  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
А как в результате должен выглядеть отчет? Т.е. как именно необходимо объединять данные? Кстати, какая версия FoxPro?
16 ноя 05, 14:49    [2074834]     Ответить | Цитировать Сообщить модератору
 Re: Не могу объединить 4 таблицы. Помогите!!!  [new]
Бин
Member

Откуда:
Сообщений: 9
то ВладимирМ

Данные нужно отбирать из периода например с 01/01/2005 по 31/10/2005, а объединять через поле id.

Примерно так должно выглядеть в отчете:
--------------------------------------------------------------------------------
--name--|(подчиненная1)-|(подчиненная2)-|(подчиненная3)
-------------|--sum---------------|-- sum---------------|--sum------------
--------------------------------------------------------------------------------
Контракт | 454545,10 | 555455,66 | 888888.55
Служба | 567432,00 | 567453,99 | 666666,02
Участок | 123478,14 | 444568,00 | 765438,00
--------------------------------------------------------------------------------

Версия FoxPro 8.0
16 ноя 05, 17:59    [2075984]     Ответить | Цитировать Сообщить модератору
 Re: Не могу объединить 4 таблицы. Помогите!!!  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
Варианты:

1. В DataEnvironment отчета кладешь все 4 таблицы и настриваешь связь от поля id главной таблицы к индексам подчиненных. Т.е. делаешь 3 связи.

2. Перед выполнением отчета выполняешь запрос:

SELECT ;
	tabMain.id, ;
	tabMain.name, ;
	NVL(tabChild1.sum,0000000000.00) as sum1, ;
	NVL(tabChild2.sum,0000000000.00) as sum2, ;
	NVL(tabChild3.sum,0000000000.00) as sum3 ;
INTO CURSOR curRep NOFILTER ;
FROM tabMain ;
LEFT JOIN tabChild1 ON tabMain.id=tabChild1.id ;
LEFT JOIN tabChild2 ON tabMain.id=tabChild2.id ;
LEFT JOIN tabChild3 ON tabMain.id=tabChild3.id ;
ORDER BY tabMain.name

В качестве источника данных для отчета используешь полученный курсор.
16 ноя 05, 18:09    [2076019]     Ответить | Цитировать Сообщить модератору
 Re: Не могу объединить 4 таблицы. Помогите!!!  [new]
Бин
Member

Откуда:
Сообщений: 9
Спасибо.
16 ноя 05, 21:19    [2076468]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить