申し訳ありませんが、タイトルが混乱する可能性がありますが、ここでより説明しようとします。だから私は2つのテーブルを持っています。2つのテーブルから1にSQLに挿入します。2つのテーブルの間にいくつかの値があります
Table1
Name
Int
Decimal
Table2
Name
Int
Decimal
私は第3のテーブルにデータを結合しようとしています。
Table3
Name
Table1_Int
Table1_Decimal
Table2_Int
Table2_Decimal
この挿入物は問題ではありません。問題は、1つのテーブルに存在し、他のテーブルには存在しない名前がいくつかあることです。私はまだ値がないところでNULL値を表示するだけでこれらを表示します。ここで
は私のストアドプロシージャ
IF NOT EXISTS(
SELECT Name FROM Table3)
INSERT INTO Table3(
Name,
Table1_Int,
Table1_Decimal,
Table2_Int,
Table2_Decimal)
SELECT
t.Name,
AVG(t.Int) as Table1_Int,
AVG(CAST(t.Decimal as decimal(6,2))) as Table1_Decimal
AVG(a.Int) as Table2_Int,
AVG(CAST(a.Decimal as decimal(6,2))) as Table2_Decimal
FROM Table1 t
JOIN Table2 a
ON t.Name = a.Name
GROUP BY t.Name
ELSE
UPDATE Table3
SET Name = Name
は、彼らがテーブル間で一致した場合、私は、関係なくすべての名前をつかむことができとにかくですか?
左結合を使用してください... – JohnHC
haha wow。ちょうどwow – maltman
@ JohnHCの投稿に答えがあるので、私はあなたに信用を与えることができます。ありがとうございました。私は愚かなろばのように感じる – maltman