【发布时间】:2015-09-27 06:01:43
【问题描述】:
假设我有 5 列,其中包含值“A”或“B”
+------+------+------+------+------+
| Col1 | Col2 | Col3 | Col4 | Col5 |
+------+------+------+------+------+
| A | A | B | A | B |
| B | A | B | B | A |
+------+------+------+------+------+
我还想将这 5 列分配为具有 1 到 5 的 ID 号
+----+---------+
| ID | Columns |
+----+---------+
| 1 | Col1 |
| 2 | Col2 |
| 3 | Col3 |
| 4 | Col4 |
| 5 | Col5 |
+----+---------+
如果第一行中的 col1、col2、col4 包含“A”,我想做的是在 db 表中插入一个新行,在这种情况下,将插入 3 个新行,每个新行都包含它们各自的 ID号码。
我要插入的表格应该是这样的
+----+----------+----------+----------+----------+
| ID | SomeCol0 | SomeCol1 | SomeCol2 | SomeCol3 |
+----+----------+----------+----------+----------+
| 1 | x | x | x | x |
| 2 | x | x | x | x |
| 4 | x | x | x | x |
+----+----------+----------+----------+----------+
这是针对 VB.NET 应用程序的。我希望在 TSQL 中解决这个逻辑,但 VB 代码也可以。我真的不知道该怎么做。非常感谢任何帮助。
【问题讨论】:
-
好的。所以你有 3 个正在使用的表?对吗?
-
不,上面显示的第二个表中的 ID 列不存在。只有我要插入的第三个表中的 ID 列存在。
-
好的。我觉得我明白了。您想输入列和输出行,并附加一些额外的数据(即 id)?这称为转置。
-
这里有一个关于转置的问题。也许这会有所帮助。 stackoverflow.com/questions/13372276/…
标签: vb.net tsql insert dataset datarow