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



我在一个表中有两列。我需要将这两列合并为一列,同时确保结果列中的所有值都是唯一的(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

任何帮助都将是伟大的在这里。

谢谢。

SELECT ChildCard AS CardID FROM tbl UNION SELECT PrimaryCard FROM tbl

这将为您提供一个不同卡片条目的列表,包括子条目和主条目。

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

UNION在合并过程中删除重复条目。UNION ALL保留重复条目。

请参阅此处了解更多信息http://msdn.microsoft.com/en-us/library/ms180026.aspx

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

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

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

生成所有新ID的查询是:

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

最新更新