私はこのテーブルを持っています:
id | type | date
1 | a | 01/1/2012
2 | b | 01/1/2012
3 | b | 01/2/2012
4 | b | 01/3/2012
5 | a | 01/5/2012
6 | b | 01/5/2012
7 | b | 01/9/2012
8 | a | 01/10/2012
POV は日付ごとです。2 つの行に同じ日付が含まれている場合、両方が同じ行に表示されます (左結合)。
同じ日付は最大 2 行で共有できます。
したがって、この状況は次のようにはなりません:
1 | a | 01/1/2012
2 | b | 01/1/2012
3 | a | 01/1/2012
同じ日付にグループがありa
、b
左結合を使用して両方を 1 行で表示する場合
日付に group しかない場合はa
、単一行として表示します (右側に +null )
日付に b グループしかない場合は、単一行として表示します (左側に +null )
望ましい結果:
Date |typeA|typeB |a'id|b'id
01/1/2012 | a | b | 1 | 2
01/2/2012 | | b | | 3
01/3/2012 | | b | | 4
01/5/2012 | a | b | 5 | 6
01/9/2012 | | b | | 7
01/10/2012 | a | | 8 |
これは単純だと思いますが、ここでの結合の主なアンカーは日付です。私が遭遇した問題は、1行目を読んだときに、同じ日付のすべての行をテーブルで検索することです...うまくいきました。- 大丈夫です。
しかし、2行目を読むと、それも行い、最初の行が得られます-これはすでにカウントされています...
何か助けはありますか?
ここにSQLフィドルがあります:
https://data.stackexchange.com/stackoverflow/query/edit/82605