2014-02-10 69 views
1

我在三個表之間進行連接,而這些連接沒有被組合在一起工作,當我將它們加在一起時,它告訴我「Person附近的語法錯誤」。'Person'附近的語法不正確

這是我的查詢:

SELECT [AddressLine1], [FirstName], [LastName] 
FROM 
[Person].[BusinessEntityAddress] join [Person].[Address] 
on ([Person].[BusinessEntityAddress].[AddressID]=[Person].[Address].[AddressID]) 
[Person].[Person] 
join [Person].[BusinessEntityAddress] 
on ([Person].[Person].[BusinessEntityID]=[Person].[BusinessEntityAddress].[BusinessEntityID]) 
WHERE FirstName= 'Terri' AND LastName= 'Duffy' 

的問題是,在最後一行[Person].[Person] join [Person].[BusinessEntityAddress]...

任何幫助將不勝感激。我可以回答問題,使其更具體。

+3

我hightly懷疑這是'MySQL',你有沒有正確標記呢? – Wrikken

+0

我認爲這應該是關於sql server提示:adventureworks – DaImTo

+0

無論如何,M.阿里的編輯很清楚有一個流氓'[Person]。[Person]'在那裏,你的意思是'JOIN [Person]。[Person] ON ...某事......'? – Wrikken

回答

1
SELECT [Person].[Address].[AddressLine1] 
     , [Person].[Person].[FirstName] 
     , [Person].[Person].[LastName] 
FROM [Person].[BusinessEntityAddress] join [Person].[Address] 
on [Person].[BusinessEntityAddress].[AddressID]=[Person].[Address].[AddressID] 
JOIN [Person].[Person] 
ON [Person].[Person].[BusinessEntityID] = [Person].[BusinessEntityAddress].[BusinessEntityID] 
WHERE FirstName= 'Terri' AND LastName= 'Duffy' 

--or使用別名使得很多清潔和更容易閱讀

SELECT PA.[AddressLine1] 
     , PP.[FirstName] 
     , PP.[LastName] 
FROM [Person].[BusinessEntityAddress] PB 
INNER JOIN 
     [Person].[Address] PA 
ON PB.[AddressID] = PA.[AddressID] 
INNER JOIN 
     [Person].[Person] PP 
ON PP.[BusinessEntityID] = PB.[BusinessEntityID] 
WHERE PP.[FirstName] = 'Terri' 
AND PP.[FirstName] = 'Duffy' 
+0

謝謝M.Ali,這個工作!非常感謝您的快速幫助! – ACEQL

+0

非常感謝您的徹底解答!我在JOINS中學到了我的關鍵錯誤。 – ACEQL

+0

你很高興幫助:) –