2
こんにちは皆にとって良い日です。このSQLシーケンスを修正する手助けをしてもらえますか?SQL - 集計がUPDATE文のセットリストに表示されない可能性があります。
私はそれを実行しようとすると、私はので、これらの2つのライン エラーを「集合体はUPDATE文のセットリストに表示されないことがあり、」取得していますMERGE INTO table2 WITH (HOLDLOCK) AS target
USING
(
SELECT column1,
AccessDate,
AccessCount,
column4,
column5,
column6,
column7,
column8
FROM table1
GROUP BY column1, column4, column5, column6, column7, column8
) AS source
ON target.column1 = source.column1 AND
target.column5 = source.column5 AND
target.column6 = source.column6 AND
target.column7 = source.column7 AND
target.column8 = source.column8
WHEN MATCHED THEN
UPDATE SET target.LastAccessDate = MAX(source.AccessDate),
target.LastWeeklyAccessCount = (SELECT SUM(source.AccessCount))
WHEN NOT MATCHED BY TARGET THEN
INSERT (column1, LastAccessDate, LastWeeklyAccessCount, column4, column5, column6, column7, column8)
VALUES (source.column1, source.AccessDate, source.AccessCount, source.column4, source.column5, source.column6, source.column7, source.column8);
:私のコード
target.LastAccessDate = MAX(source.AccessDate),
target.LastWeeklyAccessCount = (SELECT SUM(source.AccessCount))
AccessDate
をグループ内のAccessDatesの最大値に更新し、LastWeeklyAccessCount
をグループ内のカウントの合計に更新する必要があります。
一致するレコードが見つからない場合は、挿入してください。私は2年前と同じようにSQLで作業しましたが、多くのことを覚えていないので、どんなヘルプも評価されていません。
が魅力のように働きました。ありがとうございました! –
ステートメントを更新した後に別の問題が発生しました。 'オブジェクト 'dbo.table2''に重複するキー行を挿入できません。 'INSERT'文の' 'WHERE NO MATCHED'のために –