2017-01-11 79 views
0

我正在使用Microsoft SQL Server 2016來嘗試將來自視圖和真實表的數據組合到臨時表中。 View BoxAndChannel包含我想要與之結合的表的名稱。我有同一個表的x個實例,但具有不同的表名。表格的模式是相同的。在MS SQL Server 2016中查看和動態SQL查詢之間的聯合

我有一個視圖,它包含我需要獲取的表和列的名稱。根據View BoxAndChannel的值,我將不得不從正確的表格和列中選擇數據。

編輯:

我想每一行從該表BoxAndChannel enter image description here

隨着數據從列,我從表中ColumnName列在表名結合起來。

表1和表2具有相同的模式,兩者看起來如下圖所示。

目錄一/表2

enter image description here

希望結束了這樣的事情:

基於第一圖片從BoxAndChannel 1行。 enter image description here

綜上所述:我不得不選擇從BoxAndChannel每一行,然後看看錶名和的ColumnName價值,並具有相同名稱然後從表和列中的值。

+0

對於聯合,你需要在動態sql的select查詢中具有相同的結構我只看到一列,這將導致您的查詢問題。 –

+0

對於'union',您需要相同的數據類型列才能工作。你能描述你的TableName嗎? – Utsav

+0

請粘貼TableName的結構,並且爲什麼如果只有一個表,則需要動態SQL查詢。如果您顯示完整的查詢,以便能夠相應地回答它將會很有幫助。 –

回答

0

您不能直接在一個查詢中執行此操作。將它複製到臨時表可能是您更好的賭注之一。

DECLARE @test TABLE (col1 INT, col2 INT, col3 INT) 

INSERT INTO @test 
EXEC sp_executesql N'select 1, 2, 3' 

SELECT 4, 5, 6 
UNION ALL 
SELECT * FROM @test