【发布时间】:2014-07-05 11:46:07
【问题描述】:
我有一个临时表 A,它有 2 列 col1:ID col2:使用 XML 生成的值。我需要用 col2 中存在的值更新表 B 中与表 A 的 column1:ID 对应的列:表 A 的值。注意:只有特定列而不是表 B 中的所有列需要更新
表A
+----+-------+
| ID | Value |
+----+-------+
| 1 | 533 |
| 5 | 34 |
| 6 | 56 |
+----+-------+
表 B
+-----+---+---+---+----+----+---+
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
+-----+---+---+---+----+----+---+
| 533 | | | | 34 | 56 | |
+-----+---+---+---+----+----+---+
declare dynsql varchar(4000) = ' update table B set....... '
【问题讨论】:
-
为什么需要动态sql?表B也只包含一行吗?如果不是,你怎么知道要更新哪一行?
-
与@Martin Smith 所说的类似,表A 是否仅包含一组值?如果不是,你怎么知道表 A 的哪一组值更新了表 B 的[哪一行]?
-
Martin,表 B 将始终包含一行,大约 140 列,其中只有名称与表 A 中的 ID 匹配的列需要更新。
-
@AndriyM ,表A的列ID与表B的列名匹配。
-
A.ID中没有重复项,对吗?您可能希望将这些信息添加到您的主要帖子中,以使遇到问题的每个人都更清楚地了解问题。
标签: sql sql-server