2015-01-09 21 views
2

我需要加入PROVIDERS两次。将使用相关名称工作,我怎样才能在这里使用它?请让我知道,如果我错过了我的问题中的任何重要信息。如何在此查询中使用相关名称

SELECT PROVIDERS.NAME 
    , PROVIDERS.CITY 
    , PROVIDERS.STATE 
    , PROVIDERS.ZIP 
    , NPI.[Provider First Line Business Practice Location Address] as "ADDRESS" 
    , PostalCodes.County          
FROM Taxonomy 
INNER JOIN  NPI_Taxonomy ON Taxonomy.[Taxonomy Code] = NPI_Taxonomy.[Healthcare Provider Taxonomy Code] 
RIGHT OUTER JOIN PROVIDERS ON NPI_Taxonomy.NPI = PROVIDERS.FACILITYID 
RIGHT OUTER JOIN npi   ON PROVIDERS.FACILITYID = NPI.NPI 
LEFT OUTER JOIN PROVIDERS ON PostalCodes.Code = PROVIDERS.ZIP 
WHERE  (1=1) 
AND (PROVIDERS.STATE = 'AL') 
AND ([Taxonomy Specialization] like 'general acute care hospital') 
order by PROVIDERS.NAME 

enter image description here

回答

1

给不同alias name

SELECT P1.NAME, 
     P1.CITY, 
     P1.STATE, 
     P1.ZIP, 
     NPI.[Provider First Line Business Practice Location Address] as "ADDRESS", 
     PostalCodes.County          
FROM Taxonomy 
    INNER JOIN NPI_Taxonomy 
    ON Taxonomy.[Taxonomy Code] = NPI_Taxonomy.[Healthcare Provider Taxonomy Code] 
    RIGHT OUTER JOIN PROVIDERS P1 ON NPI_Taxonomy.NPI = P1.FACILITYID 
    RIGHT OUTER JOIN npi ON P1.FACILITYID = NPI.NPI 
    LEFT OUTER JOIN PostalCodes ON PostalCodes.Code = P1.ZIP 
WHERE  (1=1) 
AND (P1.STATE = 'AL') 
AND ([Taxonomy Specialization] like 'general acute care hospital') 
order by P1.NAME 

`

+0

我仍然无法为'PostalCodes'引用绑定多部分标识符。 – user3749447 2015-01-09 20:37:24

+0

@ user3749447,你在join atall中没有postcodes表,现在我正在添加它。 – radar 2015-01-09 20:38:38

1

您可以使用别名为表:

SELECT PROVIDERS.NAME , 
     PROVIDERS.CITY , 
     PROVIDERS.STATE , 
     PROVIDERS.ZIP , 
     NPI.[Provider First Line Business Practice Location Address] AS "ADDRESS" , 
     PostalCodes.County 
FROM Taxonomy 
     INNER JOIN NPI_Taxonomy ON Taxonomy.[Taxonomy Code] = NPI_Taxonomy.[Healthcare Provider Taxonomy Code] 
     RIGHT OUTER JOIN PROVIDERS p1 ON NPI_Taxonomy.NPI = p1.FACILITYID 
     RIGHT OUTER JOIN npi ON p1.FACILITYID = NPI.NPI 
     LEFT OUTER JOIN PROVIDERS p2 ON PostalCodes.Code = p2.ZIP 
WHERE (1 = 1) 
     AND (PROVIDERS.STATE = 'AL') 
     AND ([Taxonomy Specialization] LIKE 'general acute care hospital') 
ORDER BY PROVIDERS.NAME 

您需要更改每个供应商。到p1或p2,这取决于哪些应该是您的数据的来源。

+0

我仍然得到多部分标识符无法绑定两个PostalCodes引用。 – user3749447 2015-01-09 20:39:42

1

你仍然可以使用第二个供应商加入条件:

SELECT PROVIDERS.NAME, PROVIDERS.CITY, PROVIDERS.STATE, PROVIDERS.ZIP, NPI.[Provider First Line Business Practice Location Address] as "ADDRESS", PostalCodes.County          
FROM Taxonomy 
    INNER JOIN NPI_Taxonomy ON Taxonomy.[Taxonomy Code] = NPI_Taxonomy.[Healthcare Provider Taxonomy Code] 

    --Notice the change 

RIGHT OUTER JOIN PROVIDERS ON NPI_Taxonomy.NPI = PROVIDERS.FACILITYID and PROVIDERS.ZIP = PostalCodes.Code 
     RIGHT OUTER JOIN npi ON PROVIDERS.FACILITYID = NPI.NPI 


WHERE  (1=1) 
AND (PROVIDERS.STATE = 'AL') 
AND ([Taxonomy Specialization] like 'general acute care hospital') 
order by PROVIDERS.NAME` 

或者,如果你真的想要一个第二个连接,你可以使用别名。

RIGHT OUTER JOIN PROVIDERS P ON NPI_Taxonomy.NPI = P.FACILITYID 

LEFT OUTER JOIN PROVIDERS P1 on PostalCodes.Code = P1.ZIP 

只要确保你选择你用别名(S):P1.NAME

但我会建议第一种方法与添加的连接条件。

+0

我仍然收到无法为两个PostalCodes引用绑定的多部分标识符。 – user3749447 2015-01-09 20:40:13

+0

对不起,请检查更新的代码。我添加了别名而不删除表前缀。 你可以对问题行进行评论吗? – 2015-01-09 20:44:02

相关问题