したがって、いくつかのシーケンシャルCTEの出力をテーブルに書き込んでいます。また、CTEの1つで内部結合から左結合への結合を修正したところテーブル内の重複したエントリで、挿入せずにクエリを実行するだけでは表示されません。SQL Server 2012でCTEのテーブルに重複エントリを書き込む
CTEでの結合に関するテーブルの作成と挿入について理解する必要がありますか?
EDIT
create table MYTABLE
(
ID int,
Date smalldatetime,
Val1 int,
Val2 int
)
; with cte1 as (
select
a.ID,
a.Date,
a.Val1,
b.Val2
from table1 a
left join table2 b
on a.ID = b.ID
and a.Date = b.Date
)
insert into MYTABLE
(ID, Date, Val1, Val2)
select * from cte1
重複に問題がないジョイン内でテーブルを作成します。 (上記のように)左側の結合では、NULLが存在する行が何回も複製されているように見えます。
問題のトラブルシューティングをお手伝いしたい場合は、問題のあるコードを実際に含める必要があります。また、通常、サンプルデータと望ましい結果も含める必要があります。 http://meta.stackoverflow.com/questions/271055/tips-for-asking-a-good-structured-query-language-sql-question/271056 – Matt
あなたは左側の表にはないレコードがあるようです右側のテーブルに腐食性の記録がある。 LEFT JOINを使用すると、左側のすべてのレコードが来ますが、INNER JOINを使用すると、マスクされます。 –