我有什么:
价值 | 物业 | 主持人 |
---|---|---|
一个 | 1 | 戴夫 |
两个 | 2 | 戴夫 |
三个 | 3 | 戴夫 |
我想达到的目标:
价值 | 物业 | 主持人 |
---|---|---|
一个 | 1 | 戴夫 |
两个 | 2 | 戴夫 |
三个 | 3 | 戴夫 |
一个 | 1 | 皮特 |
两个 | 2 | 皮特 |
三个 | 3 | 皮特 |
所以我正在尝试根据以 Dave 作为主持人的任何行来创建新行。这些行与 Dave 行相同,只是主持人是 Pete。保留 Dave 行。添加了 Pete 行。
只需使用
VALUES
表结构,数据中同时包含 Dave 和 John:
SELECT YT.Value,
YT.Property,
V.Host
FROM dbo.YourTable YT
CROSS APPLY (VALUES('Dave'),
('Pete'))V(Host)
WHERE YT.Host = 'Dave';
一个简单的
INSERT INTO
结合SELECT
应该可以解决问题。
INSERT INTO
dbo.tablename (VALUE, PROPERTY, HOST)
SELECT
VALUE, PROPERTY, 'Pete'
FROM
dbo.tablename
WHERE
HOST = 'Dave'