SQL Server:使用c#从两个表返回组合数据

本文关键字:两个 返回 数据 组合 Server 使用 SQL | 更新日期: 2023-09-27 17:53:00

我希望有人能帮助我。我的问题是,我有两个表在我的数据库。我想用一个存储过程返回tableA和tableB的id。

因此我有两个选择:

SELECT
    id, 'WE' 
FROM
    tableX
WHERE
    value= 'x'
SELECT
    id, 'WT' 
FROM
    tableY
WHERE
    value= 'y'

我如何组合它们,以便在我的c#代码中只得到一个对象?

的例子吗?没有找到这种情况的示例代码。用光标?

这是旧代码,所以没有实体框架可用。

谢谢

SQL Server:使用c#从两个表返回组合数据

UNION语句可以为您做这些

SELECT
id, 'WE' from
tableX
where value= 'x'
UNION
SELECT
id, 'WT' from
tableY
where value= 'y'

UNION ALL执行类似的功能,但不会从UNION结果中过滤出相同的行。在本例中,您为第二列指定了不同的文字值,因此UNION和UNION ALL将生成相同的集合。

如果表没有相同数量的列,您可以使用一个虚拟列:

SELECT Id, we, them from table x where value = 'x' 
UNION 
SELECT Id, we, null as them from table y where value ='y'