に異なるテーブルの三の以上の同一の列からのデータをマージ: 表1次のように私は月、アイテムと三つの異なるテーブルを有する単一の列
month books
April-2016 2
February-2016 7
January-2016 1
June-2016 6
May-2016 1
September-2015 1
表2
month copies
April-2016 92
August-2015 1
February-2016 49
January-2016 5
June-2016 127
表3
month pens
February-2016 74
January-2016 1
June-2016 66
March-2016 136
May-2016 128
今、私はこのようなものを探していました: mon第書籍コピーこのようなIは
select COALESCE(t1.Month,t2.Month,t3.Month) AS [Month],
ISNULL(t1.books,0) AS books,
ISNULL(tp.copies,0) AS copies,
ISNULL(tn.pens,0) AS pens
from #table1 t1
full join #table t2 on t1.month=t2.month
full join #table t3 on t1.month=t3.month
と試み
month books copies pens
April-2016 2 92 0
September-2015 1 0 0
August-2015 0 1 0
June-2016 6 127 66
ように(データが利用可能でない場合、0が配置されるべきである) -the月列がマージされるべきであり、他のデータは、それぞれの列に配置する必要がありペン
---連合は私に6列を与えてくれるので動作しません。(1つしか必要ないところでは3ヶ月)
あなたのクエリに何が問題なのですか? –
クエリが同じテーブルから3回データを取得しています。私はそれがあなたがすることを意味しているとは思わない。正直言って、あなたのデザインに欠陥があるので、データを取得するのに問題があるという理由があります。アイテムの種類ごとにテーブルを用意するべきではありません。項目のタイプを示す列が必要です。 –
@Sean Lange - 私は、新しいテーブルに結果を挿入することを望んでいました... – AjahnCharles