如何使用派生表

时间:2011-10-11 19:55:01

标签: sql

我正在尝试理解派生表我有点想法但仍然在弄乱它。我做了这个我认为不对的代码。我不知道我输入了什么错误或遗漏了什么。我正在使用的表是来自客户表的一个独特的公司名称,其中订单的折扣高于.2。我一直在查看它可能我有一些名称向后或者其他东西。

SELECT DISTINCT c.CompanyName
From Customers As c
Join
(Select OrderID
From Orders as o
Join [Order Details] as od
ON c.Customers = od.OrderID
Where od.OrderID = '<.2'

最后一部分与2

的效果不太好

如何在Northwind数据库中设置列,单击表格并向下查看dbo.Order详细信息并单击列,您将找到OrderId,ProductID,UnitPrice,Quantity,Disounts。然后,您将拥有Custumers表,其中包含CustomerID,CompanyName,ContactName,ContactTitle,Address,City,Region,PostalCode,COuntry,Phone和Fax。现在,如果您进入订单表,您将拥有OrderID,CustomerID,EmployeeID,OrderDate,RequiredDate,ShippedDate,ShipVia,Frieght,ShipName,ShipAddress,ShipCity,ShipRegion,ShipPostalCode,ShipCountry。

1 个答案:

答案 0 :(得分:0)

这样的事情应该这样做。

SELECT c.CompanyName
    FROM Customers c
    WHERE EXISTS(SELECT NULL
                     FROM Orders o
                         INNER JOIN [Order Details] od
                             ON o.OrderID = od.OrderID
                                 AND od.Discount > .2
                     WHERE o.CustomerID = c.CustomerID)