【发布时间】:2013-10-01 14:12:21
【问题描述】:
我想获取一个包含多次重复值的列,并且只获取一次该值并将其存储以供以后使用,但同时我想在与该不同列相同的行中获取另一个值。
A B C
32263 123456 44
32263 123456 45
32263 123456 46
32264 246802 44
32263 246802 45
32264 246802 46
32265 369258 44
32265 369258 45
32265 369258 46
A、B、C 代表三列。暂时忽略 C。
我的问题是:如何在此表中获取这些信息并将其存储起来,以便稍后在脚本中使用?
这是我尝试过的:
use databaseName
select distinct A from tableName
order by A
结果是:
A
32263
32264
32265
我试图让它也给我 B 的价值。 (请注意,我得到哪一行并不重要,因为无论我选择什么 A,对于给定的 A,B 的值都是相同的。)我们现在忽略 C。
结果应该是:
A B
32263 123456
32264 246802
32265 369258
现在,一旦我得到它,我想使用从查询中获得的值插入一行。这就是 C 的用武之地。我想做这样的事情:
use databaseName
insert into tableName (A, B, C)
values (32263, 123456, 47)
当然,我不想将值直接放在其中,而是使用某种类型的循环来循环遍历我找到的 3 个不同的 A 值中的每一个。
简而言之,我的表应该来自:
A B C
32263 123456 44
32263 123456 45
32263 123456 46
32264 246802 44
32263 246802 45
32264 246802 46
32265 369258 44
32265 369258 45
32265 369258 46
收件人:
A B C
32263 123456 44
32263 123456 45
32263 123456 46
32263 123456 47 -
32264 246802 44
32263 246802 45
32264 246802 46
32264 246802 47 -
32265 369258 44
32265 369258 45
32265 369258 46
32265 369258 47 -
我在新添加的行旁边放置了破折号以帮助您查看更改。
我想我也许应该做一些循环来循环所有三个不同的 A 值,但我的问题是如何做到这一点?
感谢您的宝贵时间。
【问题讨论】:
-
32264部分中间有一个错误的32263。
标签: sql select sql-server-2012 distinct sql-insert