2017-07-27 3 views
2

私は2つのテーブル、CustomerとSubAccountを持っています。
Customer(customerId, customerName, address, city, state)
SubAccount(subAccountID, subAccountName, customerID, subAddress, subCity, subState)
私は親の顧客を選択して、そのような彼らのサブアカウントごとにしたい:SQLは、異なるテーブルから親と子を選択します。

+------------+---------------+ 
| Customer | SubAccount | 
+------------+---------------+ 
| Customer1 | null   | 
| Customer1 | SubAccount1 | 
| Customer1 | SubAccount2 | 
| Customer2 | null   | 
| Customer2 | SubAccount1 | 
| Customer3 | null   | 
| Customer3 | SubAccount1 | 
+------------+---------------+ 

しかし、簡単な

SELECT Customer.CustomerName, SubAccount.subAccountName 
FROM Customer 
LEFT JOIN SubAccount ON SubAccount.CustomerId = Customer.CustomerID 

をやっては動作しません。それだけが表示されます

+------------+---------------+ 
| Customer | SubAccount | 
+------------+---------------+ 
| Customer1 | SubAccount1 | 
| Customer1 | SubAccount2 | 
| Customer2 | SubAccount1 | 
| Customer3 | SubAccount1 | 
+------------+---------------+ 

選択を行う正しい方法は何ですか?

答えて

1

UNION ALL CustomerテーブルからCustomerNameとNULL(AS SubAccount)を選択する簡単なクエリを持つ既存のクエリ(結合なし)。

+0

いいえシンプルな解決方法 – Eli

+0

顧客がサブアカウントを持っていない場合を除き、customerNameは2回表示されます。 –

+0

は「UNION」を実行し、「UNION ALL」は実行しません。 –

関連する問題