2015-01-09 17 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

相關問題