Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.11.21;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.008 c
4-69629
Igor_173
2002-10-11 07:04
2002.11.21
Как отключить защиту от копирования в буфер


3-69149
boa
2002-10-30 12:45
2002.11.21
Вопрос по компонентам ADO


3-69128
wman
2002-11-04 12:48
2002.11.21
Параметр на имя алиаса


8-69450
Извращенец
2002-07-31 20:53
2002.11.21
Привет. Вот плохой вопрос для вас.


1-69245
Осирис
2002-11-11 18:05
2002.11.21
ToolButton справа





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский