次の 3 つのテーブルがあります。
表1 :
InvoiceId InvoiceNumber CompanyId
-------------------------------------------------
3 1 2
4 2 2
6 1 1
7 3 2
8 4 2
9 2 1
表 2 :
CompanyId CompanyName
-------------------------------
1 Name1
2 Name2
表 3 :
InvoiceId AcceptDate AcceptType
---------------------------------------------
3 AAAA O
3 BBBB P
6 CCCC P
4 DDDD O
7 EEEE O
9 FFFF P
7 GGGG P
テーブル 1 と 3 には 1 対多の関係があり、テーブル 3 には複数のリンクされた行があります。表 3 には、InvoiceId ごとに最大 2 行が含まれます。
仕事
この結果を得るために、表 3 の行をグループ化します。
InvoiceId AcceptDate1 AcceptDate2
--------------------------------------------
3 AAAA BBBB
6 CCCC null
4 DDDD null
and ....
そして、これらの結果を表 1 および表 2 と結合して、次のようにします。
InvoiceId InvoiceNumber AcceptDate1 AcceptDate2 Name
--------------------------------------------------------------------------
3 1 AAAA BBBB Name2
4 2 DDDD null Name2
7 3 EEEE GGGG Name2
8 4 null null Name2
6 1 CCCC null Name1
9 2 FFFF null Name1
AcceptDate1 と AcceptDate2 は静的です。