0
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 <> ''

嗨,上面的查询已被以前的员工保留,我正在试图弄清楚“->”是什么意思,任何人都可以帮助我。

4

2 回答 2

1

扩展@Ben 的答案,并在此线程中包含更多信息,而不仅仅是他提供的外部链接。

-> 语法是一种缓存 SQL 简写,在属性是对另一个表的引用的情况下表示隐式 LEFT OUTER JOIN。

例如,您的 SQL 查询在 SELECT 子句中包含以下列: AreaId->FacilityID As Facility_ID 此表达式等效于使用 LEFT OUTER JOIN 与 AreaId 引用的表,ON {table.ROWID} = AreaID如果存在此类 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 的角度来看功能,并提供一些基本的查询重写来说明该功能。

于 2014-08-04T23:02:51.700 回答
0

-> 语法是隐式连接。有关完整说明,请参阅http://docs.intersystems.com/cache20141/csp/docbook/DocBook.UI.Page.cls?KEY=GSQL_specialfeatures#GSQL_specialfeatures_impjoin

于 2014-08-04T10:58:22.020 回答