SQL - 在一个表中需要结果

时间:2017-02-19 20:50:53

标签: sql-server adventureworks

我正在尝试为家庭作业完成以下问题,但已经使用了几个小时,并且可以使用一些帮助。结果集应该是一个包含260条记录的表,但我得到的结果是在两个不同的表中。我知道我很亲密,但我错过了什么?

4)显示所有客户以及名称中包含单词LOCK的所有订单。提示使用LIKE语句。此查询类似于第326页的底部和第327页的顶部。

a)首先编写查询以选择名称中包含单词LOCK的订单。使用Production.Product表的内部联接以及salesorderdetail和salesorderheader。应该在结果集中获得260条记录。显示product.name和customerid

SELECT 
    Product.Name
FROM 
    Production.Product
INNER JOIN
    Sales.SalesOrderDetail ON Product.ProductID = SalesOrderDetail.ProductID
WHERE
    Name LIKE '%lock%'

SELECT
    SalesOrderHeader.CustomerID
FROM 
    Sales.SalesOrderHeader
INNER JOIN
    Sales.SalesOrderDetail ON SalesOrderHeader.SalesOrderID = SalesOrderDetail.SalesOrderID

1 个答案:

答案 0 :(得分:0)

通常你可以加入2个以上的表格

SELECT 
    SalesOrderHeader.CustomerID, Product.Name
FROM
    Production.Product
INNER JOIN
    Sales.SalesOrderDetail ON Product.ProductID = SalesOrderDetail.ProductID
INNER JOIN
    Sales.SalesOrderHeader ON SalesOrderHeader.SalesOrderID = SalesOrderDetail.SalesOrderID
WHERE
    Name LIKE '%lock%'