【发布时间】:2010-01-08 00:16:34
【问题描述】:
我有三个表,我想将特定类型的所有值更新为相同的值:
表1: id,值类型
表2: id, 值
表 3: id, fkValueTypeId, fkValueId
fkValueType 引用 table1 中的 ID。 fkValue 引用 Table2 中的 ID
我正在尝试将所有速度值设置为相同的值:
即
Table1:
0, speed
1, age
2, colour
Table2:
0, 10
1, 20
2, 30
3, 40
4, 18
5, 18
6, blue
7, black
8, orange
9, 33
10, 34
11, 35
Table3:
0, 0, 0 --Speed = 10
1, 0, 0 --Speed = 20
2, 0, 0 --Speed = 30
3, 0, 0 --Speed = 40
4, 1, 1 --Age = 18
5, 1, 1 --Age = 18
6, 2, 2 --Colour = Blue
7, 2, 2 --Colour = Black
8, 2, 2 --Colour = Orange
9, 0, 9 --Speed = 33
10, 0, 10 --Speed = 34
11, 0, 11 --Speed = 35
我想要做的是将表中所有 Speed 条目的 Speed 更新为“55”,以便 table2 看起来像这样:
Table2:
0, 55
1, 55
2, 55
3, 55
4, 18
5, 18
6, blue
7, black
8, orange
9, 55
10, 55
11, 55
希望这是有道理的。我不确定语法,可以使用循环来完成,但想知道是否有更好的方法(我确信有!)。
谢谢
【问题讨论】:
-
抱歉跑题了,但这看起来像 EAV 模式。表格不应该像这个ID Color Speed age吗?稍后您可能会遇到严重的性能问题。
-
它基于我上一个问题的答案,我想将测量表 PropertyType.Name 中的所有测量值更新为单个值:stackoverflow.com/questions/1762305/…
标签: sql sql-server tsql