2014-02-10 70 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

你很高兴帮助:) –