2017-10-16 26 views
0

我試圖使單個數據源,它將有幾個數據類型,這些數據類型稍後將在我們的BI應用程序中被ID'ed(並且我不能改變任何東西),每個類型由列類型 like in下面的例子,所以基本上我有兩個表,我想同時加入/聯盟,我試圖加入連接,並不能使它的工作如此的票價。你認爲這是可行嗎?在輸入表格中有一些動態變化,所以很難使用預設列來服務所有表格。 這是我輸入:TSQL挑戰一步加入和結合,是否可悲?

;WITH cte1 AS (SELECT 'A' type, 'alpha1' rec1, 'bravo1' rec2 UNION 
SELECT 'A' type, 'alpha2' rec1, 'bravo2' rec2 UNION 
SELECT 'A' type, 'alpha3' rec1, 'bravo3' rec2) 
, cte2 AS (
SELECT 'X' type, 'zulu01' recX UNION 
SELECT 'X' type, 'zulu02' rexX) 

,這是希望輸出

;WITH cteWanted AS (SELECT 'A' type, 'alpha1' rec1, 'bravo1' rec2, NULL recX UNION 
SELECT 'A' type, 'alpha2' rec1, 'bravo2' rec2, NULL recX UNION 
SELECT 'A' type, 'alpha3' rec1, 'bravo3' rec2, NULL recX UNION 
SELECT 'X' type, NULL rec1, NULL rec2, 'zulu01' recX UNION 
SELECT 'X' type, NULL rec1, NULL rec2, 'zulu02' recX) 

SELECT * FROM cteTarget 

enter image description here

+0

你是怎麼試着'聯合'cte1'和'cte2'的?從cte1 union中選擇[type],rec1,rec2,Cast(NULL作爲VarChar(10))作爲recX所有從cte2'選擇[type],NULL,NULL,recX? – HABO

+0

HI Habo,當然它會工作,但列設置是在我的情況下改變,所以我嘗試去用不同的東西和pref不動態的SQL。 –

+0

也許你可以向我們解釋Rec1,rec2,Recx是如何得出這些值的。這是SQL服務器? – maSTAShuFu

回答

0

的Tx一切,我意識到,我需要去與哈勃的解決方案。