3つのテーブルの複数の列の値を連結し、1つの列に表示します。日付insqlserverによる出力結果の反復
date amt1
1-1-2016 10:44:00 111
1-1-2016 10:44:02 222 repeat date
3-4-2016 11:44:00 111
表2:
date amt2
1-1-2016 10:44:02 101
2-2-2016 10:44:02 333
2-3-2016 10:44:02 444
表3:私の問題は、日が続いamt2一つのテーブルの繰り返しである場合、amt3も同じ日に
TABLE1を繰り返すことであるDateTime.Nowが日付フィールドがあります
date amt3
2-2-2016 10:44:04 001
2-3-2016 10:44:02 002
3-3-2016 10:44:02 003
クエリ
SELECT
COALESCE(t1.date, t2.date, t3.date)
, t1.amt1
, t2.amt2
, t3.amt3
FROM tb_amount t1
FULL JOIN tb_cashamt t2 ON t1.date =t2.date
FULL JOIN tb_grandtotal t3 ON t2.date = t3.date
出力:
date amt1 amt2 amt3
1-1-2016 10:44:00 111 null NULL
1-1-2016 10:44:02 111 101 null data repeat on amt1(111)
2-2-2016 10:44:02 NULL 333 null
2-2-2016 10:44:04 NULL 333 001 data repeat on amt2(111)
TOTAL --- --- -----
所望の出力:
date amt1 amt2 amt3
1-1-2016 111 101 NULL
2-2-2016 NULL 333 001
TOTAL total(amt1) total(amt1) total(amt1)
私はdatecolumnのsmalldatetime型のデータ型に問題があります。私はそれぞれの日付とAMT1、amt2に結果が欲しい、amt3はこの日に総データを表示
をそれは本当に質問ではありません... –
あなたは 'JOIN'キーワードを探しています。 – David