【发布时间】:2011-11-01 06:54:34
【问题描述】:
我有一种情况,属性表包含地址 ID(来自 g_addresses 表),而申请人表也包含来自 g_addresses 的地址 ID。 我想将它们连接在一起,但选择表中的所有字段。
我知道使用 '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
这会产生一个只包含一个地址行而不是两个地址行的结果, 返回的行是来自最终连接的行,而不是之前的行,表明它在返回时被覆盖。
【问题讨论】: