powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выборка из двух однотипных таблиц
4 сообщений из 4, страница 1 из 1
Выборка из двух однотипных таблиц
    #38805562
tordya78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Есть два однотипных представления.

Первое:

Код: plaintext
1.
2.
3.
4.
| OWNER_ID | OWNER_NAME | APPLES | BANANAS | ORANGES |
|----------|------------|--------|---------|---------|
|        1 |     Иванов |     10 |      15 |      20 |
|        3 |     Петров |     20 |      10 |      15 |
|        4 |    Сидоров |      8 |      12 |      10 |


Второе:

Код: plaintext
1.
2.
3.
| OWNER_ID | OWNER_NAME | YOGURTS |
|----------|------------|---------|
|        1 |     Иванов |      10 |
|        2 |   Камушкин |       5 |

Как можно правильно объединить их, чтобы получилось вот так:
Код: plaintext
1.
2.
3.
4.
5.
| OWNER_ID | OWNER_NAME | APPLES | BANANAS | ORANGES | YOGURTS |
|----------|------------|--------|---------|---------|---------|
|        1 |     Иванов |     10 |      15 |      20 |  (null) |
|        2 |   Камушкин | (null) |  (null) |  (null) |       5 |
|        3 |     Петров |     20 |      10 |      15 |  (null) |
|        4 |    Сидоров |      8 |      12 |      10 |  (null) |

Пробовал так
Код: sql
1.
2.
3.
SELECT v1.owner_id, v1.owner_name, v1.apples, v1.bananas, v1.oranges, v2.yogurts
FROM view1 AS v1
LEFT JOIN view2 AS v2 ON v1.owner_id=v2.owner_id;


Но игнорируются строки из второго представления, которые отсутствуют в первом:
Код: plaintext
1.
2.
3.
4.
| OWNER_ID | OWNER_NAME | APPLES | BANANAS | ORANGES | YOGURTS |
|----------|------------|--------|---------|---------|---------|
|        1 |     Иванов |     10 |      15 |      20 |      10 |
|        3 |     Петров |     20 |      10 |      15 |  (null) |
|        4 |    Сидоров |      8 |      12 |      10 |  (null) |
...
Рейтинг: 0 / 0
Выборка из двух однотипных таблиц
    #38805566
tordya78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ссылка SQLFiddle
...
Рейтинг: 0 / 0
Выборка из двух однотипных таблиц
    #38805600
MikkiMouse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tordya78,

Типа так?
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT v1.owner_id AS owner_id, v1.owner_name, v1.apples, v1.bananas, v1.oranges, v2.yogurts
FROM view1 AS v1
LEFT JOIN view2 AS v2 ON v1.owner_id=v2.owner_id
UNION
SELECT v2.owner_id  AS owner_id, v2.owner_name, v1.apples, v1.bananas, v1.oranges, v2.yogurts
FROM view1 AS v1
RIGHT JOIN view2 AS v2 ON v1.owner_id=v2.owner_id
ORDER BY owner_id ASC
...
Рейтинг: 0 / 0
Выборка из двух однотипных таблиц
    #38805780
tordya78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MikkiMousetordya78,

Типа так?
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT v1.owner_id AS owner_id, v1.owner_name, v1.apples, v1.bananas, v1.oranges, v2.yogurts
FROM view1 AS v1
LEFT JOIN view2 AS v2 ON v1.owner_id=v2.owner_id
UNION
SELECT v2.owner_id  AS owner_id, v2.owner_name, v1.apples, v1.bananas, v1.oranges, v2.yogurts
FROM view1 AS v1
RIGHT JOIN view2 AS v2 ON v1.owner_id=v2.owner_id
ORDER BY owner_id ASC



Да, спасибо, этот вариант подходит.

Я сам смотрел в сторону UNION, немного в другой интерпретации (два левых JOIN со сменой таблиц), поэтому скорее всего не получилось, то что я хотел.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выборка из двух однотипных таблиц
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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