将两列合并为一列并获得唯一

时间:2012-01-18 12:52:12

标签: sql-server-2005

我在表格中有两列。我需要将这两列合并为1列,同时确保结果列中的所有值都是唯一的(不重复ID)  例如:

ChildCard    PrimaryCard
123456          123456
123450          123456
123446          123446
123456          123446
156456          155456
157456          155456
121290          124290
234567          204567

结果

CardID
123456
123450
123446
123456
156456
157456
121290
234567
124290
204567

这里任何帮助都会很棒。

感谢。

5 个答案:

答案 0 :(得分:4)

SELECT ChildCard AS CardID FROM tbl UNION SELECT PrimaryCard FROM tbl

这应该会为您提供不同的卡片条目列表,包括儿童和小学。

答案 1 :(得分:2)

您可以使用SQL UNION命令根据两组数据创建视图。

UNION在合并期间删除重复的条目。 UNION ALL会保留重复的条目。

有关详情http://msdn.microsoft.com/en-us/library/ms180026.aspx

,请参阅此处

答案 2 :(得分:1)

SELECT ChildCard CardID
FROM tbl 
UNION 
SELECT PrimaryCard 
FROM tbl

答案 3 :(得分:1)

您可以选择不同的ID,如下所示:

SELECT ChildCard AS ResultID FROM Table1
UNION
SELECT PrimaryCard AS ResultID FROM Table1

答案 4 :(得分:0)

您最安全的选择是使用只是两个ID串联的ID。

生成所有新ID的查询将是:

select PrimaryCard + '_' + ChildCard as CardId
  from your_table;