2017-08-21 2 views
0

Je n'arrive pas à comprendre pourquoi j'obtiens cette erreur.Requête SQL avec erreur de syntaxe

Je continue d'obtenir la syntaxe incorrecte près du mot clé 'FROM' erreur.

USE [DWH] 
GO 

IF OBJECT_ID('tempdb..#temp') IS NOT NULL     
     DROP TABLE #temp  
create table #temp ([month] date, amt NUMERIC(36,2)) 

declare @date date = '1/1/16' 

while @date <= '8/1/2017' BEGIN 

IF OBJECT_ID('tempdb..#Members') IS NOT NULL      
      DROP TABLE #Members  

select distinct MT1.MEMBER_ID 
into #members                      
from DWH.[Dimensions].[D_MEMBER_T1] MT1 
join DWH.[Dimensions].[D_MEMBER_T2] MT2 ON MT1.MEMBER_T1_SKEY = MT2.MEMBER_T1_SKEY 
JOIN DWH.[Dimensions].[D_PROVIDER_T1] PT1 ON MT2.[PCP_PROVIDER_T1_SKEY] = PT1.PROVIDER_T1_SKEY 

WHERE @date BETWEEN MT2.EFFECTIVE_START_DATE AND MT2.EFFECTIVE_END_DATE 
AND MT2.[MEM_ELIGIBILITY_STATUS_FLAG] = 'Y' 
AND PT1.TAX_ID IN (     '610654587', 
           '205494939', 
           '205497203', 
           '610444707', 
           '610461940') 

insert into #temp 

SELECT @DATE, (CAST(ROUND(SUM([PAID_AMT])*1.00,2) AS NUMERIC (36,2)) 

    FROM DWH.[Dimensions].[D_CLAIM_LINE_PHARMACY_DETAIL_T1] 

    WHERE DATEPART (YYYY,FILL_DATE) = DATEPART (YYYY,@DATE) 
    AND DATEPART (MM,FILL_DATE) = DATEPART (MM,@DATE) 

    SET @DATE = DATEADD (MM,1,@DATE) 
    END 

SELECT * FROM #TEMP 
GO 
+2

parenthèse de fin manquant avant la dernière 'from' – SqlZim

Répondre

1

Ce code a entre parenthèses déséquilibrées:

SELECT @DATE, (CAST(ROUND(SUM([PAID_AMT])*1.00,2) AS NUMERIC (36,2)) 
--------------^ 
FROM DWH.[Dimensions].[D_CLAIM_LINE_PHARMACY_DETAIL_T1] 

Il devrait être:

SELECT @DATE, CAST(ROUND(SUM([PAID_AMT])*1.00, 2) AS NUMERIC (36, 2)) 
FROM DWH.[Dimensions].[D_CLAIM_LINE_PHARMACY_DETAIL_T1] 

Le FROM est entre parenthèses, ce qui génère l'erreur.