Объединить две таблицы и упорядочить по одному столбцу - PullRequest
0 голосов
/ 01 октября 2018

Допустим, у меня есть две таблицы, одна из клиентов и одна из заказов.Цель состоит в том, чтобы показать временную шкалу, когда клиенты присоединились, когда заказы были созданы.

Клиент

id name created
1  John 1
2  Mary 3
3  Bob  5

Заказ

id   created
aaa  2
bbb  4
ccc  6

Комбинированный

id  name  created
1   John  1
aaa       2
2   Mary  3
bbb       4
3   Bob   5
ccc       6

Изначально я начал с таблицы соединений, в которой содержались идентификаторы каждой таблицы и дата их создания.Мне интересно, есть ли более эффективный способ объединения этих двух таблиц и упорядочения по дате создания.

В качестве альтернативы, я мог бы просмотреть последние X записей и вручную объединить результаты в коде.Нужны советы здесь.

1 Ответ

0 голосов
/ 01 октября 2018

Если я правильно понимаю ваш вопрос, этот запрос должен дать вам желаемые результаты.Создает список клиентов и заказов, отсортированный по created.Строки обозначаются значением «Заказчик» или «Заказ»:

SELECT *
FROM (SELECT 'Customer' AS type, id, name, created FROM Customer
      UNION ALL
      SELECT 'Order', id, '', created FROM Orders) u
ORDER BY created, type

Вывод:

type        id      name    created
Customer    1       John    111
Order       aaa             111
Customer    2       Mary    222
Order       bbb             222
Customer    3       Bob     333
Order       ccc             333
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...