0

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

どんな助けでも大歓迎です!

ありがとうケブ

4

1 に答える 1