Sry基因的英文不好...如何計算已在「A」列的值的行數,但在「B」列不同的值使用LINQ
DataTable的例子
| ID_UEH | ID_F |
|......1......|...10...|
|......1......|...11...|
|......2......|...10...|
|......2......|...12...|
|......3......|...10...|
|......3......|...13...|
我想使來檢查,如果有,接着規範的行的函數:
- 在列「ID_UEH」不同的值,但在相同的列中的值「ID_F」
我tryed此:
(from rowA in DataTableA.Select()
join rowB in DataTableA.Select()
on rowA["ID_F"] equals rowB["ID_F"]
where rowA["ID_UEH"] != rowB["ID_UEH"]).Count()
,代碼返回0
然後我試試這個:
(from rowA in DataTableA.Select()
join rowB in DataTableA.Select()
on rowA["ID_F"] equals rowB["ID_F"]
where rowA["ID_UEH"] != rowB["ID_UEH"] &&
rowA["ID_F"] == rowB["ID_F"]).Count()
和代碼返回6(DataTableA.Rows.Count = 6)
然後他們問我快點,我這樣做:
int numRows = 0;
foreach (DataRow rowA in DataTableA.Select())
{
numRows = tabela.Select(
"ID_UEH <> "+Convert.ToInt32(rowA["ID_UEH"]) + " AND " +
"ID_F= " + Convert.ToInt32(rowA["ID_F"])
).Length;
if (numRows > 1)
break;
}
和代碼返回什麼我想。
我的問題是,我做錯了什麼?
什麼是你定的例子正確的答案?你能寫一個邏輯語句來確定結果嗎? –
@KirkBroadhurst:正確的答案是3,因爲只有三行等於ID_F,所有值都是10,所有ID_UEH值都不同(1,2,3)。 –