SSMS 2014 では、動作中の SELECT クエリがあり、それを UPDATE ステートメントに変換して、メイン テーブルのフィールドを更新したいと考えています。私は多くの解決策を試してみましたが、それぞれが異なるエラーになります。
以前は簡単な UPDATE SET WHERE クエリを実行できましたが、これは WHERE 句で派生テーブルを使用すると少し複雑になります。検索でJOINソリューションを見つけましたが、私にとってはRIGHTまたはJOINが好きではなく、そのソリューションではSETが最後の行であり、SSMSもそれが好きではないので、少し混乱しています。
これは、正しい SKU を選択する私の作業 SELECT ステートメントです。
SELECT
dbo.tblHKProducts.SKU_ID, dbo.tblHKProducts.SKU_Description,
dbo.tblHKProducts.SKU_Scan_Group
FROM
dbo.tblHKProducts
RIGHT OUTER JOIN
(SELECT
tblHKProducts_1.SKU_ID, tblHKProducts_1.SKU_Description,
dbo.ForceScanByDescriptions.FindDescription
FROM
dbo.tblHKProducts AS tblHKProducts_1
RIGHT OUTER JOIN
dbo.ForceScanByDescriptions ON tblHKProducts_1.SKU_Description = dbo.ForceScanByDescriptions.FindDescription
WHERE
(tblHKProducts_1.SKU_Description IS NOT NULL)
) AS derivedtbl_1 ON dbo.tblHKProducts.SKU_ID = derivedtbl_1.SKU_ID
私はこのようなことをしようとしています.SKU_Scan_GroupはのフィールドですtblHKProducts
:
UPDATE dbo.tblHKProducts
SET SKU_Scan_Group = N'Yes'
RIGHT OUTER JOIN
(SELECT
tblHKProducts_1.SKU_ID, tblHKProducts_1.SKU_Description,
dbo.ForceScanByDescriptions.FindDescription
FROM
dbo.tblHKProducts AS tblHKProducts_1
RIGHT OUTER JOIN
dbo.ForceScanByDescriptions ON tblHKProducts_1.SKU_Description = dbo.ForceScanByDescriptions.FindDescription
WHERE
(tblHKProducts_1.SKU_Description IS NOT NULL)
) AS derivedtbl_1 ON dbo.tblHKProducts.SKU_ID = derivedtbl_1.SKU_ID
どんな助けでも大歓迎です!
ありがとうケブ