2014-10-28 19 views
-1

有人可以向我解釋如何關聯這些連接上的這些名稱嗎?當我執行我得到的錯誤,說對象在FROM子句中具有相同的暴露名不理解sql連接上的關聯名稱

select 
inv_mast.item_id as Item, 
inv_loc.location_id as location, 
company.company_name as company, 
vendor_supplier.vendor_id as vendorID 
from 
inv_loc 
join inv_mast on inv_mast.inv_mast_uid = inv_loc.inv_mast_uid 
join inv_loc on company.company_id = inv_loc.company_id 
JOIN company ON (company.company_id = vendor_supplier.company_id) 
+1

您正在使用'from'和'join'中的'inv_loc',但您沒有給它們任何別名,所以當您說:'inv_loc.company_id'時,SQL Server不知道哪一個你想 – Lamak 2014-10-28 21:11:02

+0

你爲什麼要加入inv_loc表的2倍?你可以加入1次2個條件 – carexcer 2014-10-28 21:12:44

回答

1

您加入到inv_loc兩次 - 您可能需要解決您的加入,或引入一個別名,所以像:

select  inv_mast.item_id as Item, 
      mast.location_id as MasterLocation, 
      companylocation.location_id as CompanyLocation, 
      company.company_name as company, 
      vendor_supplier.vendor_id as vendorID 

from  inv_loc AS mast 

join  inv_mast 
    on  inv_mast.inv_mast_uid = mast.inv_mast_uid 

join  inv_loc AS companylocation 
    on  company.company_id = companylocation.company_id 

JOIN  company 
    ON  company.company_id = vendor_supplier.company_id