Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PostgreSQL Новый топик    Ответить
 Выборка из трех таблиц с сортировкой  [new]
bivilbi
Member

Откуда:
Сообщений: 51
Добрый день.
Такая проблема есть.
Есть три таблицы.
1. Work (id,name)
2. Newxtwork(timework,namework,idwork)
3. Lostwork(timework,namework,idwork)

Таблицы 2-3 соединяются по idwork с id таблицы 1

Можно ли в одном запросе сделать выборку по всем таблицам что бы получилось такое

work.id,work.name,timework,namework,(а тут название таблицы откуда подцепились данные Newxtwork или Lostwork)и все это отсортировать по timework?

Спасибо
30 сен 17, 13:09    [20833308]     Ответить | Цитировать Сообщить модератору
 Re: Выборка из трех таблиц с сортировкой  [new]
Maxim Boguk
Member

Откуда: Melbourne, Австралия
Сообщений: 3444
bivilbi
Добрый день.
Такая проблема есть.
Есть три таблицы.
1. Work(id,name)
2. Newxtwork(timework,namework,idwork)
3. Lostwork(timework,namework,idwork)

Таблицы 2-3 соединяются по idwork с id таблицы 1

Можно ли в одном запросе сделать выборку по всем таблицам что бы получилось такое

work.id,work.name,timework,namework,(а тут название таблицы откуда подцепились данные Newxtwork или Lostwork)и все это отсортировать по timework?

Спасибо


как то так:

select work.id, work.name, Newxtwork.timework, Newxtwork.namework, 'Newxtwork' as source
from Work
join Newxtwork on Newxtwork.idwork=work.id
UNION ALL
select work.id, work.name,Lostwork.timework, Lostwork.namework, 'Lostwork' as source
from Work
join Lostwork on Lostwork.idwork=work.id
order by timework



--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
30 сен 17, 14:38    [20833393]     Ответить | Цитировать Сообщить модератору
 Re: Выборка из трех таблиц с сортировкой  [new]
bivilbi
Member

Откуда:
Сообщений: 51
Спасибо!
Супер!
Maxim Boguk
bivilbi
Добрый день.
Такая проблема есть.
Есть три таблицы.
1. Work(id,name)
2. Newxtwork(timework,namework,idwork)
3. Lostwork(timework,namework,idwork)

Таблицы 2-3 соединяются по idwork с id таблицы 1

Можно ли в одном запросе сделать выборку по всем таблицам что бы получилось такое

work.id,work.name,timework,namework,(а тут название таблицы откуда подцепились данные Newxtwork или Lostwork)и все это отсортировать по timework?

Спасибо


как то так:

select work.id, work.name, Newxtwork.timework, Newxtwork.namework, 'Newxtwork' as source
from Work
join Newxtwork on Newxtwork.idwork=work.id
UNION ALL
select work.id, work.name,Lostwork.timework, Lostwork.namework, 'Lostwork' as source
from Work
join Lostwork on Lostwork.idwork=work.id
order by timework



--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
30 сен 17, 16:29    [20833454]     Ответить | Цитировать Сообщить модератору
Все форумы / PostgreSQL Ответить