我有兩個相同的格式在2個獨立的數據庫中的表。防止選擇列,如果它不存在
數據庫1
_________ _____________________ _______________
Code(int) Description(varchar) Class(varchar)
_________ _____________________ ________________
的Database2
_________ _____________________ ___________
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
但是上面的查詢引發錯誤無論是對列Class
或當Database2
或Database1
分別運行Type
。
PS:我正在與DB正確連接,並相應地設置參數@DB
。邏輯是運行此查詢兩次,一次爲Database1
,並分別取MyTable
列爲Class
列,第二次爲Database2
並分別取MyTable
列爲Type
列。
我想知道它是以任何方式實現我想要做的。 在此先感謝!
使用順序:選擇1,2,3 FROM MyTable的。另外,請參閱此文章http://stackoverflow.com/questions/1037174/sql-use-statement-with-variable。考慮這種解決方案的可讀性。 – nshah 2014-08-30 16:54:13