C#在数据表中查找重复值

时间:2017-08-02 20:42:29

标签: c# c#-4.0

我收到的Excel电子表格正在转换为DataTable。结果表的值将如下所示:

    Person | Billing Street | Billing City | Home Street | Home City
    ------ | ---------------|--------------|-------------|-----------
    Bob    | 100 B Street   | BCity        | 123 My St   | HCity
    Bob    | 101 A Street   | BCity        | 101 My Ave  | HCity
    Bob    | 100 B Street   | BCity        | PO Box 42   | HCity

我需要获取此数据并获取要插入数据库的5个唯一地址。表中会有成千上万的“人”,有些会有像Bob这样的多个地址,有些只会有一个。

任何想法/帮助将不胜感激。 谢谢

修改 我很抱歉没有将预期的结果添加到我当天晚些时候对我这个疏忽的问题上。预期结果如下:

    Person | Address        | City
    -------|----------------|---------
    Bob    | 100 B Street   | BCity
    Bob    | 101 A Street   | BCity
    Bob    | 123 My St      | HCity
    Bob    | 101 My Ave     | HCity
    Bob    | PO Box 42      | HCity

对于我需要编写代码并显示我的工作的评论:抱歉,但公司政策禁止将代码直接发布到外部来源。我本可以编写伪代码,但我确信这也不够。

对于发生在这个问题上的任何人,我想出的答案是迭代最终的DataTable并创建DataColumnNames的字符串[],然后执行DefaultView.ToTable(true,string [])以获得不同的值。

由于

2 个答案:

答案 0 :(得分:0)

只需使用UNION

即可
SELECT [Person] as [Perdson],[Billing Street] as [Street], [Billing City] as [City] FROM Tbl
UNION
SELECT [Person],[Home Street] [Home City] from tbl

答案 1 :(得分:0)

请使用以下代码从地址栏

获取不同的地址
dt.DefaultView.ToTable(true, new String[] { "columnName" });