[英]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.