2012-07-30 111 views
1

我有一個具有重複ID的一個數據表。從數據表中具有獨特的列中選擇行值

1 data moredata 4354 
1 data moredata 4354 
2 data moredaaata 4asdfdsa4 
3 dasata edaaata 42342fdsa4 
2 data moredaaata 4asdfdsa4 

我想從該表中只排了每一個這樣的第一列值的數據表:(並不需要是按順序)

1 data moredata 4354 
2 data moredaaata 4asdfdsa4 
3 dasata edaaata 42342fdsa4 

我怎樣才能做到這一點?

+4

選擇不同 – CSharpDev 2012-07-30 19:37:03

+1

你有過一個返回數據的查詢任何控制?我會認爲,對於你使用的任何查詢,「SELECT DISTINCT」會更有意義。 – LittleBobbyTables 2012-07-30 19:37:19

+1

@CSharpDev,鮮明的所有列會的工作,對樣本數據,將工作,但它可能會失敗'1數據MOREDATA 5555',在這種情況下,它會返回兩列ID 1個 – Habib 2012-07-30 19:54:52

回答

4

您可以使用LINQ查詢數據表。通過ID場使用組,從結果中選擇First。喜歡的東西..

var query = from t in dt.AsEnumerable() 
      group t by t.Field<int>("ID") into g 
      select g.First(); 
+0

我們需要回答一個LINQFTW標籤。 – 2012-07-30 19:48:21

0

SELECT DISTINCT列1,列2 FROM表1 WHERE ......

+0

我在C#的DataTable,而不是一個表中的SQL ... – Kyle 2012-07-30 23:24:43

2
List<string> tableColumns = new List<string>(); 
foreach (DataColumn column in currentTable.Columns) 
    tableColumns.Add(column.ColumnName); 
DataTable result = currentTable.DefaultView.ToTable(true, tableColumns.ToArray()); 
+0

我認爲這更可能他在找什麼。很好地使用通用組合,應該允許任何用戶根據需要指定數組。 – Jon 2016-03-16 00:53:24

相關問題