我有一个数据表,我希望根据一列的值得到不同的行,而不是根据数据表行中的所有列获得不同的行。因为我们可以得到如下不同的行
datatableName.DefaultView.ToTable("true","ColName");
因为在ToTable()中我们必须指定要显示的所有列。请帮助我,以便我能够获得所有列显示的不同行,并且只使用一列来获取不同的行。
示例样本行,我有如下
ID Application English Spanish German
1 sam thnks thnkd thkng
2 smp thnks thnke thnkp
3 anp same same same
我希望得到所有那些具有不同西班牙语/德语Cloumn值的行与英语列值.....
非常感谢这方面的帮助......
提前致谢
答案 0 :(得分:0)
如果您正在寻找如何找到列不匹配的行,那很容易
SELECT * FROM table WHERE column2 != column3
但是对于一个真正的区别,你必须对你需要的所有列进行干扰,因为这些列的行不相同。
你也可以在2个柱子上有一个不同的子选择,然后如果你愿意,可以加入其余的列。
答案 1 :(得分:0)
当你说“我想要获得所有那些具有不同西班牙语/德语Cloumn值与英语列值...”的行时,这不是DISTINCT的意思,那就是过滤器。
你可以这样做:
datatableName.DefaultView.RowFilter = "English <> German";
DataTable result = datatableName.DefaultView.ToTable("differentEngGer");
datatableName.DefaultView.RowFilter = null; //reset the view to not filter anything
答案 2 :(得分:-1)
你可以做到
var x = (from r in dt.AsEnumerable() select r["ABC"]).Distinct().ToList(); //dt is the datatable
希望这个帮助
答案 3 :(得分:-1)
从msdn forum here获得答案
您可以尝试使用以下代码。
datatableName.DefaultView.ToTable("true","ID","Application","English","Spanish","German");