如何从c#中的第一个表中排序数据第二个表

时间:2017-02-04 03:29:07

标签: c#

我目前在c#项目中工作。我有一个名为tbl1的表,其中只有一列名为Beta,我有另一个名为tbl2的表,其中只有一列名为Alpha

我想比较两张桌子。如果我单击按钮,则第二个表具有值

  

“A,D,R,B,A,E,B,Y”

匹配第一个表值,即

  

“A,E,B”

然后结果值应显示在gridview中,结果应为

  

“A,B,E,B”。

2 个答案:

答案 0 :(得分:0)

如果使用c#,你必须使用像MS SQL这样的数据库引擎,所以在这种情况下,将使用intersect子句提供所需的结果。

语法:

SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions]
INTERSECT
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions];

所以查询可能就像:

SELECT Beta
FROM tbl1
INTERSECT
SELECT Alpha
FROM tbl2

PS:两个SELECT语句中必须有相同数量的表达式。

相应的表达式在SELECT语句中必须具有相同的数据类型

答案 1 :(得分:0)

你可以在C#中使用这样的东西:

        var tableA = new List<string> {"A","D","R","B","A","E","B","Y"};
        var tableB = new List<string> { "A","E","B" };

        var result = tableA.Intersect(tableB).ToList();

        return tableA.Where(x=> result.Contains(x)).ToList();

用您的逻辑替换硬编码的tableA和tableB。