我在SQL中有以下3个表:
帐户,包含
id zip city
---- ----- ---------------
121 20085 Los Angeles
客户,包含
user id zip
------- ------
121 20085
地址,包含
zip city-state
----- ----------------
121 Los Angeles, CA
我想在名为Accounts
的{{1}}中添加一个额外的列,该列将是一个连接字段,将location
从city
连接到Accounts
来自city-state
,匹配Addr
。
我无法进行常规加入,因为city
中的所有zip
都不在Accounts
中,所以我会丢失很多记录,但表Addr
包含所有Customer
和zip
所以我想我可以利用它。
所需的输出:
帐户,包含
user id
答案 0 :(得分:0)
你是否喜欢这样的事情:
SELECT
`c`.`user_id`,
`c`.`zip`,
`a`.`city`,
CONCAT_WS( ';', `c`.`city`, `aa`.`city-state` ) AS `location`
FROM
`Accounts` AS `a`
LEFT JOIN
`Addr` AS `aa`
ON
`aa`.`zip`, `a`.`id`
LEFT JOIN
`Customer` AS `c`
ON
`c`.`user id`, `a`.`id`