【发布时间】:2014-10-24 10:22:18
【问题描述】:
我在 2 个独立的数据库中有 2 个格式相同的表。
数据库1
_________ _____________________ _______________
Code(int) Description(varchar) Class(varchar)
_________ _____________________ ________________
数据库2
_________ _____________________ ___________
Code(int) Description(varchar) Type(int)
_________ _____________________ ___________
我希望为我的 C# 应用程序编写一个通用查询,该查询从两个数据库中检索值。我写了以下查询
DECLARE @DB = 'Database1'
IF(@DB = 'Database1')
BEGIN
SELECT
ID,[Description],Class
FROM MyTable
END
ELSE
BEGIN
SELECT
ID,[Description],Type
FROM MyTable
END
但是,当分别为 Database2 或 Database1 运行时,上述查询会为列 Class 或 Type 引发错误。
PS:我正在正确地与数据库建立连接,并相应地设置参数@DB。逻辑是运行此查询两次,一次针对 Database1 并获取相应的 MyTable 和 Class 列,第二次针对 Database2 并获取各自的 MyTable 和 Type 列。
我想知道是否有可能实现我想要做的事情。 提前致谢!!
【问题讨论】:
-
使用序号:从 MyTable 中选择 1,2,3。另外,请参阅这篇文章stackoverflow.com/questions/1037174/…。考虑这种解决方案的可读性。
标签: sql sql-server sql-server-2008 tsql