Главная страница
    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.45 MB
Время: 0.007 c
1-69384
Inan61
2002-11-10 14:32
2002.11.21
как удалить файл?


6-69464
Best Before 2024
2002-09-25 16:52
2002.11.21
Курсы валют


3-69111
Назаров Евгений
2002-11-03 18:30
2002.11.21
подключение к удалённому серверу IB


1-69270
Shadow
2002-11-11 19:22
2002.11.21
Как вытащить выделенный текст в ячейке в TDBGRID?


1-69439
Magellan
2002-11-11 12:29
2002.11.21
Инициализация СОМ-объекта в потоке





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский