2014-06-17 53 views
0

如果我有實際持有另一臺這樣的表名和列名的表:如何使用從表中的值來編寫動態SQL

TestTable的

TheTable nvarchar 
TheColumn nvarchar 

須藤邏輯

SELECT 
    t.Something 
    ,t.SomethingElse 
    ,t.TheTable 
    ,t.TheColumn 
    ,(SELECT *TheColumn* FROM *TheTable*) AS Something 
FROM TestTable t 

即使寫這個問題,我得到了幾個類似問題的建議,但我希望有一個更簡單的例子,所以不打算重複一個問題。其他例子看起來很具體,而且相當廣泛。

謝謝。

+0

所以,如果'TheTable'有超過一排會發生什麼? – Lamak

回答

1

下面是一些動態SQL鬆散的基礎上示例代碼:

/* set up a few parameters */ 
DECLARE @table_name AS nvarchar(100) 
DECLARE @column_name AS nvarchar(100) 
DECLARE @SQLQuery AS NVARCHAR(1000) 

/* set the parameter values */ 
SELECT @table_name=TheTable, @column_name=TheColumn 
FROM TestTable 
WHERE -- ADD SOME LOGIC HERE TO GET SINGLE ROW 

/* Build SQL String with parameters */ 
SET @SQLQuery = 
'SELECT ' + @column_name + 
' FROM ' + @table_name 
-- + ' WHERE clause if required' 

/* Execute SQL */ 
EXECUTE(@SQLQuery) 
+0

謝謝@Tanner! – user1447679

相關問題