【发布时间】:2022-01-06 23:04:43
【问题描述】:
鉴于以下示例表架构和数据:
create table Example(
Id int not null,
Col1 int not null,
Col2 uniqueidentifier null,
);
insert into Example
values
(1, 1, NULL), (2, 1, NULL), (3, 1, NULL), (4, 2, NULL), (5, 3, NULL), (6, 3, NULL)
生成:
| Id | Col1 | Col2 |
|---|---|---|
| 1 | 1 | NULL |
| 2 | 1 | NULL |
| 3 | 1 | NULL |
| 4 | 2 | NULL |
| 5 | 3 | NULL |
| 6 | 3 | NULL |
如果可能的话,我希望帮助我编写一个脚本,该脚本将根据 Col1 的相同值更新具有相同 newid() 的所有行的 Col2。
脚本执行后que表的Ex:
| Id | Col1 | Col2 |
|---|---|---|
| 1 | 1 | bad34c74-f546-4d79-804b-d048d8c7d977 |
| 2 | 1 | bad34c74-f546-4d79-804b-d048d8c7d977 |
| 3 | 1 | bad34c74-f546-4d79-804b-d048d8c7d977 |
| 4 | 2 | e464b79a-b97c-4192-a4f3-327cc147cc4a |
| 5 | 3 | 99475e8f-2788-4c63-817f-4deb130440ab |
| 6 | 3 | 99475e8f-2788-4c63-817f-4deb130440ab |
非常感谢您的帮助
【问题讨论】:
-
除非这是删除 Col1 的临时步骤,否则这表示归一化问题,因为 Col2 在功能上依赖于 Col1。您应该有另一个具有不同
Col1的表及其关联的Col2 -
感谢您的回复。是的。我明白。但是对于这个具体的例子,我只对问题/解决方案本身感兴趣,请忽略规范化问题。
标签: sql sql-server tsql