2011-10-11 92 views
1

我想了解派生表我有點想法,但仍然搞亂它。我做了這個我認爲不對的代碼。我不知道我是否有輸入錯誤或遺漏了某些東西。我正在使用的表格是客戶表格中的一個獨特的公司名稱,訂單的折扣比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' 

最後的部分,與the.2

列是如何設置Northwind數據庫您點擊表格和下井看到dbo.Order方式並點擊工作這麼好您可以找到OrderId,ProductID,UnitPrice,Quantity,Disounts。然後,您將擁有包含CustomerID,CompanyName,ContactName,ContactTitle,Address,City,Region,PostalCode,COUNtry,Phone和Fax的Custumers表。現在,如果您進入訂單表下,您將擁有訂單ID,客戶ID,僱員ID,訂單日期,所需日期,交貨日期,ShipVia,Frieght,出貨單,出貨地址,出貨量,出貨區域,出貨郵編,出貨國家。

+0

我懷疑折扣價值存儲在'od.OrderID'列中。有價值的另一列嗎? –

+0

是訂單詳細信息 – st1984

+0

從一個供應商到另一個供應商,sql方言和功能差別很大。你應該更新你的問題,以表明你正在使用哪一個。 – gview

回答

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)