У меня есть ситуация, когда таблица свойств содержит идентификатор адреса (из таблицы g_addresses), а таблица заявителя также содержит идентификатор адреса из g_addresses.Я хотел бы объединить их слева, но выберите все поля в таблице.
Я знаю, как использовать 'as' для создания псевдонима для полей, но есть ли способ создать псевдоним для целоготаблица?
SELECT *
FROM (`reference`)
LEFT JOIN `applicants` ON `applicants`.`id` = `reference`.`applicant_id`
LEFT JOIN `g_people` applicant_person ON `applicant_person`.`id` = `applicants`.`person_id`
LEFT JOIN `g_addresses` applicant_address ON `applicant_address`.`id` = `applicants`.`address_id`
LEFT JOIN `properties` ON `properties`.`id` = `reference`.`property_id`
LEFT JOIN `g_addresses` property_address ON `property_address`.`id` = `properties`.`address_id`
WHERE `reference`.`id` = 4
Это приводит к результату, содержащему только одну строку адреса, а не обе. Возвращаемая строка является строкой из последнего соединения, а не той, что была ранее, указывая, что она перезаписывается при возврате.