我目前在c#项目中工作。我有一个名为tbl1
的表,其中只有一列名为Beta
,我有另一个名为tbl2
的表,其中只有一列名为Alpha
。
我想比较两张桌子。如果我单击按钮,则第二个表具有值
“A,D,R,B,A,E,B,Y”
匹配第一个表值,即
“A,E,B”
然后结果值应显示在gridview中,结果应为
“A,B,E,B”。
答案 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。