微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sql – 使用CTE创建视图时出错

认为我是愚蠢但我得到错误

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

尝试执行以下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

这是一个在存储过程中运行良好的查询,因此我对查询感到满意,因为它无法将其创建为视图.

任何帮助将非常感激

解决方法

您错过了 CREATE VIEW之后的第一个AS:
CREATE VIEW [dbo].[VW_THIRDPARTY_SLA_REPORT_MONTHLY_GP_NONAGGREGATE] 
AS --- this is missing
  With partitioned
  AS 
  (
   Select 
      B.MSH7_DateTimeOfMessage,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

原文地址:https://www.jb51.cc/mssql/77838.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐