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#代码中只得到一个对象?
的例子吗?没有找到这种情况的示例代码。用光标?
这是旧代码,所以没有实体框架可用。
谢谢
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'