SELECT Distinct visitid As Visit_ID,
AreaId->FacilityID As Facility_ID,
visitid-PatientSecondaryNumber As Patient_MRN,
visitid->PatientName As Patient_Name,
visitid-statustext As visit_Status,
visitid->LastVisitTypeID->shortname As visit_Type,
visitid-LastVisitActivationTime As Last_Visit_Activation,
(SELECT VisitConversionID->VisitTypeID-shortname
FROM qcpr_arf_OC.VisitActivationTime
WHERE visitid = qcpr_arf_RG.AreaBedHistoryEventTime.visitid AND
VisitConversionID->VisitTypeID-shortname LIKE 'Emergency%' ) AS Last_Visit FROM qcpr_arf_rg.AreaBed INNER JOIN qcpr_arf_RG.AreaBedHistoryEventTime ON
qcpr_arf_rg.AreaBed.AreaBedID = qcpr_arf_RG.AreaBedHistoryEventTime.AreaBedID
WHERE AreaBedHistoryEventTimeSubID LIKE 'Ç910%' AND visitid <> ''
您好以上问题已被上一位员工保留,我试图找出&#34; - &gt;&#34;意味着任何人都可以帮助我。
答案 0 :(得分:1)
扩展@ Ben的答案,并在此主题中包含更多信息,而不仅仅是他提供的外部链接。
- &GT; syntax是一种Cache SQL简写,表示在属性是对另一个表的引用的情况下隐式LEFT OUTER JOIN。
作为示例,您的SQL查询在SELECT子句中包含以下列:
AreaId-&gt; FacilityID As Facility_ID
此表达式与使用ON {table.ROWID} = AreaID
的AreaId引用的表的LEFT OUTER JOIN等效,如果存在这样的AreaId则返回FacilityID,否则返回NULL。
乍一看,语法可能没有多大意义,但它可以减少查询中的SQL数量。也就是说,如果你在visitid上明确地加入JOIN,这个查询可能会更容易理解。
我将@ Ben的链接包含在InterSystems文档中:http://docs.intersystems.com/cache20141/csp/docbook/DocBook.UI.Page.cls?KEY=GSQL_specialfeatures#GSQL_specialfeatures_impjoin 文档的重点从更OO的角度描述了该功能的行为,并提供了一些基本的查询重写来说明该功能。
答案 1 :(得分:0)