Неверный синтаксис рядом с "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]...

Любая помощь будет принята с благодарностью. И я могу ответить на вопросы, чтобы сделать это более конкретным.

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'

- или использование Alias ​​делает его чище и легче для чтения

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'
Другие вопросы по тегам