2015-11-24 17 views
1

我有兩個表在不同的表數據代替來自不同的列空列

100 HL Road Frame HL Road Frame - Black, 58 FR-R92B-58 Black 1431.50 1059.31 Road Frames 183 NULL 
101 HL Road Frame HL Road Frame - Red, 58 FR-R92R-58 Red 1431.50 1059.31 Road Frames 183 NULL 
102 Sport-100 Sport-100 Helmet, Red HL-U509-R Red 34.99 13.09 Helmets 112 NULL 
103 Sport-100 Sport-100 Helmet, Black HL-U509 Black 34.99 13.09 Helmets 112 NULL 
104 Mountain Bike Socks Mountain Bike Socks, M SO-B909-M White 9.50 3.40 Socks 132 NULL 

和類別:

╔═══════╦═══════════════════╗ 
║  1 ║ Bib-Shorts  ║ 
║  2 ║ Bike Racks  ║ 
║  3 ║ Bike Stands  ║ 
║  4 ║ Bottles and Cages ║ 
║  5 ║ Bottom Brackets ║ 
╚═══════╩═══════════════════╝ 

我想在第一個更換空值表和填充他們與第二表中的類別ID,我認爲插入語句將工作,但它不會做我認爲會這樣做的東西。

CREATE TABLE PRODUCTCATEGORY 
(
    categoryID  INT IDENTITY(1, 1) CONSTRAINT pk_PRODUCTCATEGORY_category_ID 
    PRIMARY KEY, 
    categoryname  VARCHAR(50) 
) 

是表

ALTER TABLE product 
    ADD categoryID INT 
INSERT INTO product 
SELECT categoryID 
FROM PRODUCTCATEGORY 

的錯誤,我得到這消息213,級別16,狀態1,行18 列名或提供值的數目不匹配表定義。爲做一個插入

任何輸入讚賞。

+1

你需要在你的問題工作liltle更多的是因爲心不是100%清楚。請閱讀[** How to ask **](http://stackoverflow.com/help/how-to-ask) \t \t \t而[**如何創建最小,完整和可驗證的示例。** ](http://stackoverflow.com/help/mcve) 這是一個很好的開始\t http://spaghettidba.com/2015/04/24/how-to-post-at-sql-question- on-a-public-forum/ –

+0

您也可能想要在SQL中的INSERT語句中使用Google教程,因爲您似乎還沒有掌握基本知識。 –

回答

0

你剛纔所說的主要是:

INSERT INTO product(id, short_name, long_name, model number, color, price, 
      smaller_price, type_name, type_id, what_does_this_value_even_represent) VALUES 
(1,'Bib-Shorts'), (2,'Bike Racks'), (3,'Bike Stands'), 
(4,'Bottles and Cages'), (5,'Bottom Brackets'); 

什麼SQL告訴你是Msg 213, What value am I supposed to use for your 8 other columns

+0

我想通過使用該表中的categoryID替換productcategory中的值,並用該值替換另一個表中的空值。如果明確說明的話 –

+0

然後你不想'插入'*值*,你想'update' * rows *和'SET' * values *。你應該檢查胡安的答案,假設他正確地猜測了你的結構,這個答案是有效的。 –

0

您更改表後,你應該做的UPDATE

UPDATE product P 
SET P.categoryID = PC.categoryID 
FROM PRODUCTCATEGORY PC 
WHERE P.ID = PC.ID 
    AND P.categoryID IS NULL 
相關問題