2017-08-02 56 views
-6

我正在接收正在轉換爲DataTable的Excel電子表格。結果表將有價值觀是這樣的:C#在數據表中查找重複值

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個獨特的地址被插入到數據庫。在桌子上會有成千上萬的「人」,有些人會有像鮑勃一樣的多個地址,有些人只會有一個。

任何想法/幫助將不勝感激。 感謝

編輯: 我不加入的預期結果,這是一個監督對我而言當天晚些時候的問題深表歉意。預期結果如下:

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 [])以獲取不同的值。

感謝

+5

'任何想法/幫助將appreciated'我會寫一個代碼並嘗試一些東西,然後會問我做錯了什麼 –

+0

這個問題的確切部分你有麻煩嗎?讀取excel文件,找到獨特的地址或將數據存儲到數據庫? –

+0

這實際上很簡單,使用DataTable時可以使用Filter/Select,一旦將數據導入到數據表中,但確實很高興能夠看到現有的代碼...您真的有什麼綁到目前爲止......? – MethodMan

回答

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 
0

請使用下面的代碼從地址欄獲得不同的地址

dt.DefaultView.ToTable(true, new String[] { "columnName" });