2017-11-20 11 views
0

mySql DBに複数のフィールドを持つ2つのテーブルCustomersとChildrenがあり、One to Manyリレーションシップに関連しているため、顧客は0からnまでの子を持つことができます。別の行にmySql LEFT OUTER JOINの結果を表示

私は主な顧客の行の下の新しい行のすべての子供foreach顧客を抽出する必要があります。

これは可能ですか?

これはクエリです:

select customers.FIELDS... 
from customers 
LEFT OUTER JOIN asg_children 
ON customers.id = children.customer_id 
where customers.first_name != 'DEFAULT' and customers.first_name != '' and 
customers.first_name != '_' 
order by customers.last_name asc 

答えて

0

あなたが列で順番に次のことをやって、これを作成することができます。ドットは、列を配置する場所で、各クエリで同じでなければなりません。これは、子供の顧客IDが顧客に存在しなければならないという前提を作ります。次のようなin文が追加されていない場合あなたが必要としてあなた自身の名前のフィルタを追加することができます、私は句の

Select * 
From 
(

    Select ID customerid ,.......,1 ordby From customer 
    Union all 
    Select customer_id,.......,2 from children /* optional in clause here */ 
) x 
Order by customerid,ordby 

オプションそれらを残している

Where customer_id in (select Id from customer) 
関連する問題