Я изучал базу данных Northwind. Существует один вид, называемый «Счет», довольно сложный.Заказ внутреннего соединения
Я попытался сменить исходный sql (вытащить последнее внутреннее соединение, слиться с другим внутренним заявлением объединения).
'Официальный' код, чтобы получить счет-фактуру: (правильный)
SELECT *
FROM dbo.Shippers as shipper
INNER JOIN dbo.Products as product
INNER JOIN dbo.Employees as employee
INNER JOIN dbo.Customers as customer
INNER JOIN orders as orders
ON customer.CustomerID = orders.CustomerID
ON employee.EmployeeID = orders.EmployeeID
INNER JOIN dbo.[Order Details]
ON orders.OrderID = dbo.[Order Details].OrderID
ON product.ProductID = dbo.[Order Details].ProductID
ON shipper.ShipperID = orders.ShipVia
Моя первая попытка: (не работает)
SELECT *
FROM dbo.Shippers as shipper
INNER JOIN dbo.Products as product
INNER JOIN dbo.Employees as employee
INNER JOIN dbo.Customers as customer
INNER JOIN orders as orders
INNER JOIN dbo.[Order Details]
ON orders.OrderID = dbo.[Order Details].OrderID
ON product.ProductID = dbo.[Order Details].ProductID
ON shipper.ShipperID = orders.ShipVia
ON customer.CustomerID = orders.CustomerID
ON employee.EmployeeID = orders.EmployeeID
Моя вторая попытка (работы):
select *
from Orders as orders
inner join Shippers as ships
on ships.ShipperID = orders.ShipVia
inner join [Order Details] as ods
on ods.OrderID = orders.OrderID
inner join Products as products
on ods.ProductID = products.ProductID
inner join Customers as customers
on customers.CustomerID = orders.CustomerID
Оба они возвращают 2155 строк записи.
Вот ссылка на таблицу структуры:
Мой вопрос, почему «моя первая попытка» не так ли? Кроме того, как вы думаете, моя вторая попытка правильная?
Благодаря
«Официальный» код работает. Все еще проверяйте синтаксис. @John Woo – CodeFarmer
Неправильный синтаксис INNER JOIN приводит к ошибке. Проверьте этот синтаксис из MSDN: http://msdn.microsoft.com/en-us/library/bb208854(v=office.12).aspx –
В чем проблема с первой попыткой? Вы получаете синтаксическую ошибку? Если да, можете ли вы поделиться им? – Mureinik