13

私は愚かだと思いますが、エラーが発生しています:

メッセージ195、レベル15、状態1、プロシージャVW_THIRDPARTY_SLA_REPORT_MONTHLY_GP_NONAGGREGATE、8行目の「partitioned」は認識されたオプションではありません。

次のcreateviewステートメントを実行しようとしたとき

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 

これはストアドプロシージャでうまく機能しているクエリなので、ビューとして作成できないクエリに満足しています。

どんな助けでも大歓迎です

4

3 に答える 3

19

あなたは:のAS後の最初のものを逃しています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 
于 2013-02-13T11:31:05.503 に答える
5

あなたはAS後に必要ですCREATE VIEW

CREATE VIEW [dbo].[VW_THIRDPARTY_SLA_REPORT_MONTHLY_GP_NONAGGREGATE] 
AS
With partitioned ...
于 2013-02-13T11:30:53.843 に答える
0

CTEを使用すると同時にビュー列のタイトルを追加することはできないように見えることを指摘しておくと役立つ場合があります。(これは私の時間の数分を無駄にしました)

create or replace force editionable view "MYVIEW"
  --("Field1", "Field2")
as 
with results as (
    select cal.field1,cal.field2  from mytable cal
) 
select field1,field2 from results
;

上記の( "Field1"、 "Field2")列の宣言のコメントを外すと、これは失敗します。

于 2019-01-09T15:54:35.060 に答える