|
Слияние таблиц, аналог Left Join из SQL
|
|||
---|---|---|---|
#18+
Добрый день! Есть интересная задача, которую не удалось решить своими силами. Есть несколько таблиц: 1. Прайс лист 1 (содержит поля Формат магазина; товар) 2. Прайс лист 2 и так делее 3. Магазины (содержит поля Магазин; Формат магазина) Каждый магазин встречается 1 раз. Необходимо сделать таблицу, где к каждому магазину добавлены все товары, которые в нем продаются. Особенность в том, что в таблдице "Магазины" каждый магазин встречается 1 раз, а в таблицах "Прайс лист" есть несколько товаров для каждого формата магазина. И на каждый тип пмагазина (Название сети) есть свой правйс лист. Что пробовал сделать: 1.Составить OLAP куб. Не вышло, тк не придумал уникального индекса, по которому можно проводить сравнение. 2. Сводная таблица. Для неё должен быть массив данных, который собственно и требуется сделать. 3. Функция "=ВПР()". Не подходит так как она только заполняет значения, но не умеет создавать новые строки и добавлять туда новые значения. Прикрепляю файл для примера. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2013, 12:48 |
|
Слияние таблиц, аналог Left Join из SQL
|
|||
---|---|---|---|
#18+
а если SQL-запросом? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2013, 13:26 |
|
Слияние таблиц, аналог Left Join из SQL
|
|||
---|---|---|---|
#18+
Если вы умеете оперировать SQL-инструкциями - то почему бы просто не воспользоваться JetSQL для получения нужной выборки? ADODB вполне умеет обращаться к источнику данных - файлу Excel... ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2013, 13:27 |
|
Слияние таблиц, аналог Left Join из SQL
|
|||
---|---|---|---|
#18+
Дело в том, что этих данных нет в БД. Данные есть толтько в фаилах Excel. Я бы с радостью, да в компании принято в Excel е все делать)) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2013, 13:41 |
|
Слияние таблиц, аналог Left Join из SQL
|
|||
---|---|---|---|
#18+
вот простой пример для затравки: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2013, 13:49 |
|
Слияние таблиц, аналог Left Join из SQL
|
|||
---|---|---|---|
#18+
AndreTM, Огромное спасибо. Я в Accesse создал БД. там установил связь с нужными файлами и написал запрос -- SELECT * FROM Адреса LEFT JOIN Билла ON Адреса.Сеть=Билла.сеть; -- Получилось. НО! Можно ли подобное делать средствами Excel? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2013, 14:15 |
|
|
start [/forum/topic.php?fid=61&msg=38317156&tid=2174695]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 135ms |
0 / 0 |