Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.21;
Скачать: CL | DM;

Вниз

Как соединить несколько баз по общему полю?   Найти похожие ветки 

 
Leshik ©   (2002-10-30 09:31) [0]

Имеется несколько баз (9 штук) Т1,Т2,Т3...
В каждой есть поле NOM (string) и поле KOL.
Как получить базу в которой будут все (!) NOM, (какие имеются) и поля К1, К2, К3... (это KOL из всех баз).
Проблема в том, что некоторые значения поля NOM имеются не во всех базах.
Помогите, плз...


 
skiph ©   (2002-10-30 10:10) [1]

Думаю, что можно состряпать LookUp поля K1, K2, K2 по ключу NOM.


 
Leshik ©   (2002-10-30 10:20) [2]

А как использовать LookUp?


 
ЮЮ ©   (2002-10-30 10:54) [3]

А на кой их было распихивать по 9-ти таблицам?


 
Leshik ©   (2002-10-30 11:47) [4]

Изначально была база с инфой:
NOM,KOL,REG
Так вот нужно сгруппировать данные по REG по разным колонкам,
т.е. для каждого NOM, получить K1, K2, K3... где К1 - сумма KOL для записей и определенным значением REG.
В Excel, это называется "сводная таблица".
Как это сделать?



 
visla   (2002-10-30 21:37) [5]

Делаешь програмку в которой DataBase будет 9 шт. Не забудь перед этим сделать новую базу. Методом insert into.... в запросе заносишь из каждой базы по отдельности в новую каждое поле. Если хочешь при этом избавиться от повторов, то придется делать проверку. Возможные пустые поля решать так: либо проверять значение по переменным и в случае отсутствия значения присваивать туда че-либо, либо в новой базе поставить значение на поле "заполнять не обязательно"
Есть вторая возможность: начало как и в первом варианте, только делаешь сводный запрос на основе запросов из баз. Муторно и требует отладки, но получиться может.


 
ЮЮ ©   (2002-10-31 04:12) [6]

На SQL, позволяюшем использовать подзапросы, это можно сделать так, исходя из того что кол-во значений REG ограниченно.

1. Формируем запрос, представляющий записи в соответствии с необходимой структурой:

Select NOM, KOL K1, Cast(0 as Integer) K2,..., Cast(0 as Integer) K9 from T1
union
Select NOM, 0, KOL,..., 0 from T2
...
union
Select NOM, 0, 0,..., KOL from T9

А теперь делаем групповые операции над выборкой:
Select NOM,SUM(K1),..,SUM(K9) from <наша выборка> GROUP BU NOM

Если используешь БДЕ, попробуй возможность, изложенную в Local SQL VIEWs, т.е. запрос
Select NOM,SUM(K1),..,SUM(K9) from k1k9.sql GROUP BU NOM
где в файл k1k9.sql помести первый запрос.


 
Leshik ©   (2002-10-31 09:16) [7]

Все получилось!

Благодарю всех!
Особенно "ЮЮ"



Страницы: 1 вся ветка

Текущий архив: 2002.11.21;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
1-69360
Nicko
2002-11-10 10:08
2002.11.21
Реестр


3-69114
lmax
2002-11-02 01:19
2002.11.21
Проблема выборки данных с датой


3-69117
SasaR
2002-11-04 10:23
2002.11.21
Создание временной таблицы в SP-Interbase


7-69597
max2057
2002-09-20 08:07
2002.11.21
Ученик!! CreateRemoteThread в Explorer e


1-69251
Shluz
2002-11-11 19:38
2002.11.21
SMS средствами E-mail