Объединяет ли объединение один и тот же столбец с одинаковым именем и данными? - PullRequest
0 голосов
/ 12 июля 2020

Я читаю эту статью Мигеля Гринберга, и в части «Объединение» меня немного смущает результат.

Подводя итог той части, которая меня беспокоит , он объединил запрос и подзапрос, принадлежащие ОДНОЙ таблице, при условии, что его customer_id совпадают

  • Выбран запрос: id, customer_id, order_date
  • Выбран подзапрос: customer_id, max(order_date) AS last_order_date

Когда он присоединился к нему, я ожидал что-то вроде:

id | customer_id | order_data | customer_id | last_order_date
--------------------------------------------------------------

Но его результат был:

id | customer_id | order_data | last_order_date
-----------------------------------------------

Где другой customer_id selected из подзапроса?

Этим я хотел бы подтвердить, правильно ли я понимаю, JOIN также объединяет две COLUMNS, если он имеет то же имя и VALUE.

1 Ответ

1 голос
/ 12 июля 2020

Тот факт, что в статье используется select * вместо select orders.*, last_orders.last_order_date, уже заставляет меня подозревать что-либо еще в статье.

Большинство баз данных запускают запрос и возвращают два столбца с customer_id - как вы предполагаете, должно произойти. Однако тогда возникает проблема доступа к обоим этим столбцам в приложении. У них одно и то же имя. Итак, столбцы можно каким-то образом опустить.

...