簡體   English   中英

SQL SERVER為現有表的每一行插入新列值

[英]SQL SERVER Insert New Column Values for every row of existing table

我有一個現有的客戶表。 我想根據我們公司提供的所有服務為每個客戶添加一個新行。

原樣:

Customer - ID
Freddy - 123

成為:

Customer - ID - Service
Freddy - 123 - Serv1
Freddy - 123 - Serv2
Freddy - 123 - Serv3

等...

現在我一直在與下面的工作,但它沒有給出期望的輸出:

INSERT INTO Customers (Service) 
VALUES ('Serv1'), ('Serv2'), ('Serv3')

您需要某種JOIN ,在這種情況下為CROSS JOIN

SELECT c.Customer, c.Id, v.s
FROM Customers c CROSS JOIN
     (VALUES ('Serv1'), ('Serv2'), ('Serv3')) v(s);

但是,將其插入原始表中沒有任何意義。 該表只有兩列,但是您似乎想要第三列。

您只有兩列,因此請創建第三列。

轉到表>>設計>>,然后創建名為“服務”的第三行

現在執行此操作:

UPDATE Customers
SET service='serv1'
WHERE Customer='Freddy '

請記住:WHERE子句指定應更新的記錄。 如果省略WHERE子句,所有記錄將被更新!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM