1

我需要一些关于存储过程中的子查询的帮助。

我有两张桌子

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

Tab2: TemplateTab(TempField, ViewField)

TemplateTab 的值为

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.ViewFieldcolumnNameTab1

当我运行 SQL 时Feldwert具有相同的值,例如ViewField

当我替换为时TemplateTab.ViewFieldWVaBez我得到了正确的值Tab1

希望有人可以提供帮助。

4

1 回答 1

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
于 2012-10-10T17:32:34.497 回答