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