首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“相关名称'MMP_PPRVU‘与表’MMP_PPRVU‘具有相同的公开名称。”

“相关名称'MMP_PPRVU‘与表’MMP_PPRVU‘具有相同的公开名称。”
EN

Stack Overflow用户
提问于 2014-11-04 14:49:36
回答 2查看 244关注 0票数 0

我已经为这事挣扎了一段时间了。这与我加入MMP_PPRVU的方式有关。本质上,我试图加入CLARITY_TDL_TRAN -> CLARITY_EAP1 -> MMP_PPRVU。以及CLARITY_TDL_TRAN -> MMP_STAGING_UNITS -> MMP_PPRVU。

所有左外连接。我尝试过多种不同的方法,但无法想出一个可行的解决方案。任何帮助都是非常感谢的。

代码语言:javascript
复制
SELECT........
FROM  

CLARITY.dbo.CLARITY_TDL_TRAN as CLARITY_TDL_TRAN  
left outer join 
dbo.MMP_STAGING_UNITS as MMP_STAGING_UNITS on MMP_Staging_Units.eTDL_ID = CLARITY_TDL_TRAN.TDL_ID and CLARITY_TDL_TRAN.DETAIL_TYPE in (1, 10)
left outer join
CLARITY.dbo.CLARITY_EAP as CLARITY_EAP on CLARITY_EAP.PROC_ID = CLARITY_TDL_TRAN.PROC_ID
left outer join
CLARITY.dbo.CLARITY_EAP AS CLARITY_EAP1 on CLARITY_EAP1.PROC_ID = CLARITY_TDL_TRAN.PROC_ID --look into this alias
left outer join 
CLARITY.dbo.CLARITY_POS as CLARITY_POS on CLARITY_TDL_TRAN.POS_ID = CLARITY_POS.POS_ID
left outer join
CLARITY.dbo.CLARITY_DEP as CLARITY_DEP on CLARITY_TDL_TRAN.DEPT_ID = CLARITY_DEP.DEPARTMENT_ID
left outer join
CLARITY.dbo.CLARITY_LOC as CLARITY_LOC on CLARITY_TDL_TRAN.LOC_ID = CLARITY_LOC.LOC_ID
left outer join
dbo.mmp_PatientsTestaYes as mmp_PatientsTestaYes on CLARITY_TDL_TRAN.INT_PAT_ID = mmp_PatientsTestaYes.PAT_ID
left outer join
CLARITY.dbo.CLARITY_SA as CLARITY_SA on CLARITY_TDL_TRAN.SERV_AREA_ID = CLARITY_SA.SERV_AREA_ID
left outer join
CLARITY.dbo.CLARITY_SER as CLARITY_SER on CLARITY_TDL_TRAN.PERFORMING_PROV_ID = CLARITY_SER.PROV_ID
left outer join
CLARITY.dbo.CLARITY_EAF_TIN as CLARITY_EAF_TIN ON CLARITY_LOC.LOC_ID = CLARITY_EAF_TIN.FACILITY_ID
left outer join 
dbo.MMP_PPRVU as MMP_PPRVU on MMP_Staging_Units.eFinMod = MMP_PPRVU.MOD
left outer join 
dbo.MMP_revctrs$ as MMP_revctrs$ ON CLARITY_EAP.PROC_CODE = MMP_revctrs$.CPT
left outer join
MMP_PPRVU ON CLARITY_EAP_1.PROC_CODE = MMP_PPRVU.HCPCS
  WHERE        (CLARITY_TDL_TRAN.DETAIL_TYPE IN (1, 10)) AND       (mmp_PatientsTestaYes.PAT_ID IS NULL) AND (CLARITY_EAF_TIN.LINE = 1)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-11-04 15:01:57

我喜欢用缩进来帮助保持联接易懂。

下面可以看到,对CLARITY_EAP的第二个联接是CLARITY_EAP1的别名,但是当您试图对它进行连接时,使用的是别名CLARITY_EAP_1,它没有定义,很可能会抛出一个错误。

代码语言:javascript
复制
SELECT........
FROM CLARITY.dbo.CLARITY_TDL_TRAN as CLARITY_TDL_TRAN  
    left outer join dbo.MMP_STAGING_UNITS as MMP_STAGING_UNITS on MMP_Staging_Units.eTDL_ID = CLARITY_TDL_TRAN.TDL_ID and CLARITY_TDL_TRAN.DETAIL_TYPE in (1, 10)
        left outer join dbo.MMP_PPRVU as MMP_PPRVU1 on MMP_Staging_Units.eFinMod = MMP_PPRVU.MOD
    left outer join CLARITY.dbo.CLARITY_EAP as CLARITY_EAP on CLARITY_EAP.PROC_ID = CLARITY_TDL_TRAN.PROC_ID
        left outer join dbo.MMP_revctrs$ as MMP_revctrs$ ON CLARITY_EAP.PROC_CODE = MMP_revctrs$.CPT
    left outer join CLARITY.dbo.CLARITY_EAP AS CLARITY_EAP1 on CLARITY_EAP1.PROC_ID = CLARITY_TDL_TRAN.PROC_ID --look into this alias
        left outer join MMP_PPRVU as MMP_PPRVU2 ON CLARITY_EAP1.PROC_CODE = MMP_PPRVU2.HCPCS
    left outer join CLARITY.dbo.CLARITY_POS as CLARITY_POS on CLARITY_TDL_TRAN.POS_ID = CLARITY_POS.POS_ID
    left outer join CLARITY.dbo.CLARITY_DEP as CLARITY_DEP on CLARITY_TDL_TRAN.DEPT_ID = CLARITY_DEP.DEPARTMENT_ID
    left outer join CLARITY.dbo.CLARITY_LOC as CLARITY_LOC on CLARITY_TDL_TRAN.LOC_ID = CLARITY_LOC.LOC_ID
        left outer join CLARITY.dbo.CLARITY_EAF_TIN as CLARITY_EAF_TIN ON CLARITY_LOC.LOC_ID = CLARITY_EAF_TIN.FACILITY_ID
    left outer join dbo.mmp_PatientsTestaYes as mmp_PatientsTestaYes on CLARITY_TDL_TRAN.INT_PAT_ID = mmp_PatientsTestaYes.PAT_ID
    left outer join CLARITY.dbo.CLARITY_SA as CLARITY_SA on CLARITY_TDL_TRAN.SERV_AREA_ID = CLARITY_SA.SERV_AREA_ID
    left outer join CLARITY.dbo.CLARITY_SER as CLARITY_SER on CLARITY_TDL_TRAN.PERFORMING_PROV_ID = CLARITY_SER.PROV_ID
WHERE
    CLARITY_TDL_TRAN.DETAIL_TYPE IN (1, 10) AND
    mmp_PatientsTestaYes.PAT_ID IS NULL AND
    CLARITY_EAF_TIN.LINE = 1
票数 0
EN

Stack Overflow用户

发布于 2014-11-04 14:58:34

当您在FROM子句中给表一个别名时,将别名命名为与表名相同是非常重要的。

代码语言:javascript
复制
LEFT OUTER JOIN dbo.MMP_PPRVU AS MMP_PPRVU
    ON MMP_Staging_Units.eFinMod = MMP_PPRVU.MOD

此外,您可以在同一个表中加入几个join,它的名称是相同的。这两个表中的一个需要有一个与表名不同的别名。也许:

代码语言:javascript
复制
LEFT OUTER JOIN dbo.MMP_PPRVU as MMP_PPRVU_1
    ON MMP_Staging_Units.eFinMod = MMP_PPRVU.MOD

所以它不与:

代码语言:javascript
复制
LEFT OUTER JOIN MMP_PPRVU
     ON CLARITY_EAP_1.PROC_CODE = MMP_PPRVU.HCPCS

在编写FROM子句时,我发现使用稍微不同的缩进是有帮助的,这样可以使这些东西更加突出,并且更易于解析。

代码语言:javascript
复制
FROM CLARITY.dbo.CLARITY_TDL_TRAN AS CLARITY_TDL_TRAN
    LEFT OUTER JOIN dbo.MMP_STAGING_UNITS AS MMP_STAGING_UNITS
        ON MMP_Staging_Units.eTDL_ID = CLARITY_TDL_TRAN.TDL_ID
            AND CLARITY_TDL_TRAN.DETAIL_TYPE IN (
                1,
                10
                )
    LEFT OUTER JOIN CLARITY.dbo.CLARITY_EAP AS CLARITY_EAP
        ON CLARITY_EAP.PROC_ID = CLARITY_TDL_TRAN.PROC_ID
    LEFT OUTER JOIN CLARITY.dbo.CLARITY_EAP AS CLARITY_EAP1
        ON CLARITY_EAP1.PROC_ID = CLARITY_TDL_TRAN.PROC_ID --look into this alias
    LEFT OUTER JOIN CLARITY.dbo.CLARITY_POS AS CLARITY_POS
        ON CLARITY_TDL_TRAN.POS_ID = CLARITY_POS.POS_ID
    LEFT OUTER JOIN CLARITY.dbo.CLARITY_DEP AS CLARITY_DEP
        ON CLARITY_TDL_TRAN.DEPT_ID = CLARITY_DEP.DEPARTMENT_ID
    LEFT OUTER JOIN CLARITY.dbo.CLARITY_LOC AS CLARITY_LOC
        ON CLARITY_TDL_TRAN.LOC_ID = CLARITY_LOC.LOC_ID
    LEFT OUTER JOIN dbo.mmp_PatientsTestaYes AS mmp_PatientsTestaYes
        ON CLARITY_TDL_TRAN.INT_PAT_ID = mmp_PatientsTestaYes.PAT_ID
    LEFT OUTER JOIN CLARITY.dbo.CLARITY_SA AS CLARITY_SA
        ON CLARITY_TDL_TRAN.SERV_AREA_ID = CLARITY_SA.SERV_AREA_ID
    LEFT OUTER JOIN CLARITY.dbo.CLARITY_SER AS CLARITY_SER
        ON CLARITY_TDL_TRAN.PERFORMING_PROV_ID = CLARITY_SER.PROV_ID
    LEFT OUTER JOIN CLARITY.dbo.CLARITY_EAF_TIN AS CLARITY_EAF_TIN
        ON CLARITY_LOC.LOC_ID = CLARITY_EAF_TIN.FACILITY_ID
    LEFT OUTER JOIN dbo.MMP_PPRVU AS MMP_PPRVU_1
        ON MMP_Staging_Units.eFinMod = MMP_PPRVU.MOD
    LEFT OUTER JOIN dbo.MMP_revctrs$ AS MMP_revctrs$
        ON CLARITY_EAP.PROC_CODE = MMP_revctrs$.CPT
    LEFT OUTER JOIN MMP_PPRVU
        ON CLARITY_EAP_1.PROC_CODE = MMP_PPRVU.HCPCS
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26738103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档