2

現在、「無効なオブジェクト名 qryTI_3」というエラーが発生しています。手順全体を実行しようとしたときにのみこのエラーが発生しますが、それでも手順を保存できます。参照されているテーブルにすべてのフィールドが存在することを確認しました。このクエリの何が問題になっていますか?

DECLARE @cols AS NVARCHAR(MAX),
    @query  AS NVARCHAR(MAX);


WITH qryTI_1 AS 
(
SELECT tblTSF.fldFPK, tblTSF.fldPK, tblTSF.fldCI, tblTSF.fldNI
FROM tblTSF
WHERE (((tblTSF.fldMN)<>-254))
),

qryTI_2 AS 
(
SELECT tblTSF.fldFPK, tblTSF.fldPK, tblAL.fldLN AS fldCI, 0 AS fldNI
FROM tblAL, tblTSF
GROUP BY tblTSF.fldFPK, tblTSF.fldPK, tblAllLevels.fldLN
HAVING (((tblAL.fldLN)<>0 And (tblAL.fldLN)<>6))
),

qryTI_3 AS 
(
SELECT * FROM qryTI_1 UNION SELECT * FROM qryTI_2
)

select @cols = STUFF((SELECT distinct ',' + QUOTENAME(fldCI) 
                    from qryTI_3
            FOR XML PATH(''), TYPE
            ).value('.', 'NVARCHAR(MAX)') 
        ,1,1,'')

set @query = 'SELECT fldPK, fldFPK, ' + @cols + '
                FROM 

                (
                SELECT fldPK
                        ,fldFPK
                        ,fldNI
                        ,fldCI
                FROM qryTI_3    
                ) as x
                PIVOT
                (
                    Sum(fldNI) FOR fldCI IN (' + @cols + ')
                ) as p '

        execute sp_executesql @query
4

1 に答える 1