SQL - 带有JOIN的SELECT语句

时间:2013-09-15 07:41:30

标签: sql

我正在使用Northwind数据库,我无法设法让以下查询起作用 -

select *
from customers
    join orders
        on orders.customerID = customers.customerID
    join [Order Details]
        on orders.OrderID = [Order Details].orderID
    join Products (select Products.productID, Products.ProductName from Products)
        on [Order Details].productID = Products.productID
order by customers.customerID

我收到一条错误消息,说第7行中的select附近有不正确的语法。

我想要做的是,在加入Products表时,它不会带来所有列,而只是ProductName和ProductID。

有人可以解释一下我做错了什么吗? 谢谢!

2 个答案:

答案 0 :(得分:2)

首先需要指定子查询,然后指定别名。

select *
from customers
    join orders
        on orders.customerID = customers.customerID
    join [Order Details]
        on orders.OrderID = [Order Details].orderID
    join (select Products.productID, Products.ProductName from Products) Products 
        on [Order Details].productID = Products.productID
order by customers.customerID

更改

join Products (select Products.productID, Products.ProductName from Products) 

join (select Products.productID, Products.ProductName from Products) Products 

答案 1 :(得分:2)

你可能想试试这个: -

select *
from customers
    join orders
        on orders.customerID = customers.customerID
    join [Order Details]
        on orders.OrderID = [Order Details].orderID
    join (select Products.productID, Products.ProductName from Products) Products
        on [Order Details].productID = Products.productID
order by customers.customerID