SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 12.02.2021 16:34:30

Виталий87
Участник
Зарегистрирован: 12.02.2021
Сообщений: 6

Нужна помощь

Всем доброе времени суток!
Есть 6 таблиц: wi_magaz, wi_pokupatel, wi_pikap, wi_postavshik, wi_mp, wi_so.
В каждой из этих таблиц есть такие данные:
        Плановая дата                       Магазин док.             Магазин Шт.
2021-02-07 00:00:00.000                  1                       2.00000
2021-02-09 00:00:00.000                  27                       27.00000
2021-02-10 00:00:00.000                  1                      1.00000
2021-02-11 00:00:00.000                  1                      1.00000
Плановая дата в каждой таблице может отличатся, а в некоторых таблицах могут отсутствовать все данные.
Пробовал CONCAT но не получилось, не выводит все нужные данные.
Нужно что бы получилось так как на снимке.
У меня не как не получается, помогите пожалуйста.


Прикрепленные файлы:
Attachment Icon Снимок.JPG, Размер: 120,838 байт, Скачано: 8

Неактивен

 

#2 12.02.2021 23:32:34

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2332

Re: Нужна помощь

А покажите, как Вы делаете


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#3 13.02.2021 13:38:15

Виталий87
Участник
Зарегистрирован: 12.02.2021
Сообщений: 6

Re: Нужна помощь

Я пробовал с помощью UNION, но получается что все даты повторяются строкой и не корректные данные, а если использовать join то в столбик. Когда присоединяю таблицы в которых пока нет данных то вообще не показывает(
Примеры в вложение.


Прикрепленные файлы:
Attachment Icon Снимок1.JPG, Размер: 72,127 байт, Скачано: 4

Неактивен

 

#4 13.02.2021 13:39:01

Виталий87
Участник
Зарегистрирован: 12.02.2021
Сообщений: 6

Re: Нужна помощь

Что то я не могу понять.


Прикрепленные файлы:
Attachment Icon Снимок2.JPG, Размер: 63,628 байт, Скачано: 4

Неактивен

 

#5 13.02.2021 13:39:39

Виталий87
Участник
Зарегистрирован: 12.02.2021
Сообщений: 6

Re: Нужна помощь

...

Отредактированно Виталий87 (13.02.2021 13:40:03)


Прикрепленные файлы:
Attachment Icon Снимок3.JPG, Размер: 63,859 байт, Скачано: 2

Неактивен

 

#6 13.02.2021 13:40:28

Виталий87
Участник
Зарегистрирован: 12.02.2021
Сообщений: 6

Re: Нужна помощь

....


Прикрепленные файлы:
Attachment Icon Снимок4.JPG, Размер: 61,551 байт, Скачано: 2

Неактивен

 

#7 13.02.2021 22:13:00

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5729

Re: Нужна помощь

Виталий87 написал:

Что то я не могу понять.

первым аргументом concat_ws идет разделитель

Неактивен

 

#8 13.02.2021 22:25:53

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5729

Re: Нужна помощь

Виталий87 написал:

Плановая дата в каждой таблице может отличатся, а в некоторых таблицах могут отсутствовать все данные.
Пробовал CONCAT но не получилось, не выводит все нужные данные.
Нужно что бы получилось так как на снимке.
У меня не как не получается, помогите пожалуйста.

select t.`Плановая дата`, t1.`Магазин док`, t1.`Магазин шт` -- и т.д.
from (select `Плановая дата` from wi_magaz
union
select `Плановая дата` from wi_pokupatel
union
-- и так далее
select `Плановая дата` from wi_so) t -- список всех возможных дат из 6-ти таблиц
left join wi_magaz t1 on t.`Плановая дата` = t1.`Плановая дата`
left join wi_pokupatel t2 on t.`Плановая дата` = t2.`Плановая дата`
-- и т.д.
left join wi_so t6 on t.`Плановая дата` = t6.`Плановая дата`
 

Неактивен

 

#9 15.02.2021 10:24:45

Виталий87
Участник
Зарегистрирован: 12.02.2021
Сообщений: 6

Re: Нужна помощь

vasya написал:

Виталий87 написал:

Плановая дата в каждой таблице может отличатся, а в некоторых таблицах могут отсутствовать все данные.
Пробовал CONCAT но не получилось, не выводит все нужные данные.
Нужно что бы получилось так как на снимке.
У меня не как не получается, помогите пожалуйста.

select t.`Плановая дата`, t1.`Магазин док`, t1.`Магазин шт` -- и т.д.
from (select `Плановая дата` from wi_magaz
union
select `Плановая дата` from wi_pokupatel
union
-- и так далее
select `Плановая дата` from wi_so) t -- список всех возможных дат из 6-ти таблиц
left join wi_magaz t1 on t.`Плановая дата` = t1.`Плановая дата`
left join wi_pokupatel t2 on t.`Плановая дата` = t2.`Плановая дата`
-- и т.д.
left join wi_so t6 on t.`Плановая дата` = t6.`Плановая дата`
 

Большое Вам спасибо! Всё получилось как надо)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson