Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите с объединением таблиц. SQL / 9 сообщений из 9, страница 1 из 1
29.06.2018, 18:34
    #39667721
vova626
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с объединением таблиц. SQL
Добрый день!
Помогите с объединением таблиц.
Описываю вопрос:
Есть Исходные таблицы. Структура их одинаковая. В Исходной таблице связка "art-part" - уникальная. Т.е. не может в одной таблице быть 2-х одинаковых связок "art-part". У этой связки - есть значение "var".

Таких таблиц несколько.

В результате запроса (о котором я прошу) должна получиться Результирующая таблица.

Примеры (образцы) - ниже под спойлерами.


Исходные таблицы

table1
artpartvar1011102186101150218710117021832051102185205200318820525031855


table2
artpartvar10111021812101190218410117021811011003181420511021882052503181020523031811

table3
artpartvar1011102186101150218710117021832051102185205250318553081104188






Результирующая таблица

Результат объединения таблиц:
artparttable1.vartable2.vartable3.var101 110218 6 12 6101 150218 7 7101 170218 3 1 3101 190218 4 101 100318 14 205 110218 5 8 5205 200318 8 205 250318 55 10 55205 230318 11 308 110418 8





Спасибо всем за помощь!
...
Рейтинг: 0 / 0
29.06.2018, 19:26
    #39667725
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с объединением таблиц. SQL
vova626,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
SELECT
    q1.art    ,
    q1.part   ,
    Table1.var,
    Table2.var,
    Table3.var
FROM
    ((
    (
        SELECT
            art,
            part
        FROM
            Table1
        UNION
        SELECT
            art,
            part
        FROM
            Table2
        UNION
        SELECT
            art,
            part
        FROM
            Table3
    )
    AS q1
    LEFT JOIN
        Table1
        ON
            (
                q1.part = Table1.part
            )
            AND
            (
                q1.art = Table1.art
            )
    )
    LEFT JOIN
        Table2
        ON
            (
                q1.part = Table2.part
            )
            AND
            (
                q1.art = Table2.art
            )
    )
    LEFT JOIN
        Table3
        ON
            (
                q1.part = Table3.part
            )
            AND
            (
                q1.art = Table3.art
            )

...
Рейтинг: 0 / 0
29.06.2018, 20:24
    #39667750
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с объединением таблиц. SQL
vova626,
Бывают запросы на объединение-с помощью такого запроса Вы все решите
Я не знаю всех тонкостей Вашей БД,но мне кажется,что структура из нескольких однотипных таблиц есть не совсем правильно (лучше одна таблица с полем-признаком в которой имеется составной ключ с запретом совпадений по полям art,part,признак)
...
Рейтинг: 0 / 0
30.06.2018, 08:58
    #39667810
982183
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с объединением таблиц. SQL
Я немного по другому делаю подобное.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
SELECT
    q1.art    ,
    q1.part   ,
    sum(q1.var1),
    sum(q1.var2),
    sum(q1.var3),
from ( SELECT art, part as var1, 00 as var2, 00 as var3
        FROM Table1
 UNION
SELECT art, 00 as as var1, part as var2, 00 as as var3
        FROM Table2
 UNION
SELECT art, , 00 as as var1, 00 as as var2 part as var3
        FROM Table3
    )  as q1
Group by art, part
...
Рейтинг: 0 / 0
01.07.2018, 10:56
    #39667962
vova626
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с объединением таблиц. SQL
sdku,

Мысль понятна.
Да, конечно, можно сделать и одну таблицу с полем-признаком.
Добавил в исходные таблицы поле data (это и есть поле-признак) - исходные таблицы объединил в одну таблицу.
Но по большому счету - это добавленное поле можно считать именем таблицы. Разве не так?

(p.s. в предложенных запросах - access ошибки выдает)


data art part var040618 101 110218 6040618 101 150218 7040618 101 170218 3040618 205 110218 5040618 205 200318 8040618 205 250318 55110618 101 110218 12110618 101 190218 4110618 101 170218 1110618 101 100318 14110618 205 110218 8110618 205 250318 10110618 205 230318 11180618 101 110218 6180618 101 150218 7180618 101 170218 3180618 205 110218 5180618 205 250318 55180618 308 110418 8
...
Рейтинг: 0 / 0
01.07.2018, 12:03
    #39667976
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с объединением таблиц. SQL
vova626sdku,
...Добавил в исходные таблицы поле data (это и есть поле-признак)...Это так,если сочетание для art-part-data уникально (для конкретной даты сочетание art-part повторяется только 1 раз).
Не обзывайте поле "data". Правильно, например, "myData",ну и таблицу тоже
...
Рейтинг: 0 / 0
01.07.2018, 12:46
    #39667985
vova626
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с объединением таблиц. SQL
sdku,

Да, сочетание (My)data-art-part уникально. Вообще-то это не условие. Это данность.
Но тогда как развернуть таблицу что-бы получилось так: ???

artpart(My)data(=040618)(My)data(=110618)(My)data(=170618)101 110218 6 12 6101 150218 7 7101 170218 3 1 3101 190218 4 101 100318 14 205 110218 5 8 5205 200318 8 205 250318 55 10 55205 230318 11 308 110418 8
...
Рейтинг: 0 / 0
01.07.2018, 13:19
    #39667989
vova626
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с объединением таблиц. SQL
vova626,

Разобрался.

Всем спасибо!
...
Рейтинг: 0 / 0
02.07.2018, 03:58
    #39668123
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с объединением таблиц. SQL
vova626, мог бы и написать в чём была загвоздка, для тех, кто в будущем будет искать ответа
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите с объединением таблиц. SQL / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]