ポイントに関するイベントの記録を収集する 2 つのテーブルがあります。
CREATE TABLE report_one
(
date timestamp,
point_id bigint,
income int
)
CREATE TABLE report_two
(
date timestamp,
point_id bigint,
spent int
)
合計レポート (および追加レポート) を生成したいと考えています。ページネーション、順序付けをサポートする必要があるため、結合を使用したい...
問題は、結合キー (レポートのポイント ID) が 1:1 ではないため、同じ行を複数取得したことです。
insert into report_one values('2013-1-1',1,1)
insert into report_two values('2013-1-1',1,1)
insert into report_two values('2013-1-2',1,1)
select * from report_one r1 left join report_two r2 on r1.point_id = r2.point_id
テーブル report_one の2行がありますが、合計で1つしか必要ありません。各行が一度だけになる、テーブル間のある種の結合のビューを作成できるようにしたいと考えています。
**次のような出力が必要です:
1 (pid) 、1,1,0,0 - report_one からの this
1 (pid) ,0,0,1,1 -- これは report_two から
1 (pid) ,0,0,1,1 -- これは report_two から **
すべてを結合することは素晴らしいことですが、2 つのテーブルに同じ列の型がありません。
追伸。実際のテーブルには多くの列があり、pk は複数の列です。質問を簡単にするだけです。