2012-10-10 80 views
1

我需要一些關於storedproc中子查詢的幫助。sql在sql子查詢中使用Fieldvalue

我有兩個表TemplateTab的

Tab1: @WerteTab (WVaNr, WVaBez, WVaVon, WVaBis, WVaOrt) 

Tab2: TemplateTab(TempField, ViewField) 

值是

Counter TempField ViewField 
1  ccVABez WVaBez 
2  ccVAVon WVaVon 
3  ccVaBis WVaBis 

我的SQL看起來像

SELECT 
    TemplateTab.TempField, 
    (Select TemplateTab.ViewField From @WerteTab) AS Feldwert 
FROM 
    TemplateTab 

@WerteTab剛一行

因此,值爲TemplateTab.ViewFieldTab1

columnName當我運行SQL Feldwert有一個像ViewField

相同的值當我更換TemplateTab.ViewFieldWVaBez我從Tab1

希望有人正確的價值可以提供幫助。

回答

1
SELECT tt.TempField 
,  case ViewField 
     when 'WVaNr' then wt.WVaNr 
     when 'WVaBez' then wt.WVaBez 
     when 'WVaVon' then wt.WVaVon 
     when 'WVaBis' then wt.WVaBis 
     when 'WVaOrt' then wt.WVaOrt 
     end as Feldwert 
FROM TemplateTab tt 
CROSS JOIN 
     @WerteTab wt 
+0

你可以只是做一個CROSS JOIN,使THENs稍微簡單一些 –

+0

@ConradFrix:好一點,我想我們可以假設它是SQL Server,因爲在'@ WerteTab'表變量 – Andomar

+0

這是工作的感謝。 – leo