2013-02-13 15 views
6

że jestem głupi, ale otrzymuję błąd:Błąd podczas tworzenia widoku z CTE

Msg 195, Level 15, State 1, Procedure VW_THIRDPARTY_SLA_REPORT_MONTHLY_GP_NONAGGREGATE, Line 8 'partitioned' is not a recognized option.

gdy próbuje wykonać następujące CREATE VIEW

CREATE VIEW [dbo].[VW_THIRDPARTY_SLA_REPORT_MONTHLY_GP_NONAGGREGATE] 
With partitioned 
AS 
(Select 
B.MSH7_DateTimeOfMessage, 
B.PID2x1_PatientIDExternal, 
B.PID3x1_PatientIDInternal, 
B.PID5x1_PatientName_FamilyName, 
B.PV3x2_AssignedPatientLocation_Room, 
A.OBR4x2_UniversalServiceID_Text, 
A.OBX3x2_ObservationIdentifier_Text, 
A.OBR24_DiagnosticServiceSectionID, 
A.OBR6_RequestDateTime, 
C.TestName, 
C.PriceBaseline, 
D.Contract, 
Row_NUMBER() 

OVER(Partition By [ORC3_FillerOrderNumber], [OBX3x2_ObservationIdentifier_Text] order by [ORC9_DateTimeOfTransaction]) as seq 
From [NWLHPathApp_DataWarehouse].[dbo].[PathologyHL7_Detail] A 
LEFT OUTER JOIN [NWLHPathApp_DataWarehouse].[dbo].[PathologyHL7_Header] B ON A.[DETAIL_ID] = B.[HEADER_ID] 
LEFT OUTER JOIN [NWLHPathApp_DataWarehouse].[dbo].[PathologyHL7_View_TFCData] C ON A.[OBR24_DiagnosticServiceSectionID] + A.[OBX3x1_ObservationIdentifier_Identifier] = C.[KEY] 
LEFT OUTER JOIN [NWLHPathApp_DataWarehouse].[dbo].[PathologyHL7_LocationDetail] D ON B.[PV3x1_AssignedPatientLocation_PointOfCare] = D.[PracticeCode] 

) 
Select * 
from partitioned 
where seq =1 

to jest zapytanie, które działa ładnie w procedurze przechowywanej, więc jestem zadowolony z kwerendy po prostu nie można go utworzyć jako widok.

Każda pomoc będzie mile widziane

Odpowiedz

5

Trzeba AS po CREATE VIEW:

CREATE VIEW [dbo].[VW_THIRDPARTY_SLA_REPORT_MONTHLY_GP_NONAGGREGATE] 
AS 
With partitioned ... 
10

Brakuje pierwszego AS po CREATE VIEW:

CREATE VIEW [dbo].[VW_THIRDPARTY_SLA_REPORT_MONTHLY_GP_NONAGGREGATE] 
AS --- this is missing 
    With partitioned 
    AS 
    (
    Select 
     B.MSH7_DateTimeOfMessage, 
     B.PID2x1_PatientIDExternal, 
     B.PID3x1_PatientIDInternal, 
     B.PID5x1_PatientName_FamilyName, 
     B.PV3x2_AssignedPatientLocation_Room, 
     A.OBR4x2_UniversalServiceID_Text, 
     A.OBX3x2_ObservationIdentifier_Text, 
     A.OBR24_DiagnosticServiceSectionID, 
     A.OBR6_RequestDateTime, 
     C.TestName, 
     C.PriceBaseline, 
     D.Contract, 
     Row_NUMBER() OVER(Partition By [ORC3_FillerOrderNumber], [OBX3x2_ObservationIdentifier_Text] order by [ORC9_DateTimeOfTransaction]) as seq 
    From [NWLHPathApp_DataWarehouse].[dbo].[PathologyHL7_Detail] A 
    LEFT OUTER JOIN [NWLHPathApp_DataWarehouse].[dbo].[PathologyHL7_Header] B ON A.[DETAIL_ID] = B.[HEADER_ID] 
    LEFT OUTER JOIN [NWLHPathApp_DataWarehouse].[dbo].[PathologyHL7_View_TFCData] C ON A.[OBR24_DiagnosticServiceSectionID] + A.[OBX3x1_ObservationIdentifier_Identifier] = C.[KEY] 
    LEFT OUTER JOIN [NWLHPathApp_DataWarehouse].[dbo].[PathologyHL7_LocationDetail] D ON B.[PV3x1_AssignedPatientLocation_PointOfCare] = D.[PracticeCode] 

    ) 
    Select * 
    from partitioned 
    where seq =1 
Powiązane problemy