0

私はExcelシートからSQLServerにデータを抽出する必要があるプロジェクトに取り組んでいますが、そのビットは正常に実行されました。今私の問題は、
製品サイズと呼ばれる特定の列について、他のテーブルの製品サイズに基づいて現在のテーブルを更新したいということです、私は本当に非常に混乱しています、助けてください

テーブル構造を見つけてください

    CREATE TABLE [dbo].[T_Product](
[ProductID] [int] IDENTITY(1,1) NOT NULL,
[PartNo] [nvarchar](255) NULL,
[CategoryID] [int] NULL,
[MaterialID] [float] NULL,
[WireformID] [float] NULL,
[ProductName] [nvarchar](50) NULL,
[ProductSize] [nvarchar](50) NULL,
[ProductLength] [varchar](20) NULL,
[ProductActive] [bit] NULL,
[ProductImage] [varchar](60) NULL
 ) ON [PRIMARY]

     CREATE TABLE [dbo].[T_ProductSize](
[Code] [int] IDENTITY(1,1) NOT NULL,
[ProductSize] [nvarchar](50) NULL,
[Length] [nchar](20) NULL
 ) ON [PRIMARY]

 GO
4

3 に答える 3

2

OK、前の回答は無視してください。スティックの端が間違っています!!

あなたはこのようなものが欲しいと思います:

UPDATE T_Product
SET [ProductLength] = ps.[Length]
FROM T_Product p
INNER JOIN T_ProductSize ps
ON p.[ProductSize] = ps.[ProductSize]

これは、T_ProductSize から長さの値を取得し、T_Product.ProductSize の値に基づいて T_Product.ProductLength に配置します。

于 2012-06-28T11:52:12.107 に答える
0

これを試して...

UPDATE  t2
SET     t2.ProductLength = t1.Length
FROM    dbo.T_ProductSize t1
        INNER JOIN dbo.T_Product t2 ON t1.ProductSize = t2.ProductSize
于 2012-06-28T11:52:28.493 に答える