-1

私はSQLで次のように3つのテーブルを持っています:

を含むアカウント

id     zip     city 
----   -----   ---------------
121    20085   Los Angeles

Customer、含む

user id   zip  
-------   ------
121       20085

Addr、含む

zip     city-state
-----   ----------------
121     Los Angeles, CA

. . _ Accounts_ location_ city_ _ _Accountscity-stateAddrcity

zipすべてがAccountsそこにないため、通常の結合を行うことができないため、Addr多くのレコードが失われますが、テーブルCustomerにはすべてが含まれているためzipuser idそれを利用できると思います。

必要な出力:

を含むアカウント

user id    zip    city              location 
-------    -----  ----------------  ----------------
121        20085  Los Angeles       Los Angeles;Los Angeles, CA 
4

1 に答える 1

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`
于 2013-06-19T13:45:10.617 に答える