2014-12-25 56 views
0

遞減順序排我有兩個表:SQL查詢加盟獲得特定日期

產品

的productID,產品名稱,productPrice

購買

的productID,creationDate

查詢 - 返回是購自June 2ndmost expensive product返回first

爲此,我寫了下面的查詢unique products列表:

SELECT Product.productID, 
     Product.productName, 
     Product.productPrice, 
     Purchased.creationDate 
FROM Product 
     LEFT JOIN Purchased 
       ON Product.productID = Purchased.productID 
ORDER BY Product.productPrice DESC 
WHERE Purchased.creationDate > 02/06/2014 

能否請您確認,如果以上書面查詢是正確的,或者我犯了任何錯誤。

回答

1

試試這個:

SELECT p.productID, p.productName, p.productPrice, pp.creationDate 
FROM Product p 
LEFT JOIN Purchased pp ON p.productID = pp.productID 
WHERE pp.creationDate > '2014-06-02' 
ORDER BY p.productPrice DESC; 
+0

對不起,但我可以知道我的查詢和你的查詢之間的區別嗎?謝謝! – VicJordan

1

而且使用alises

SELECT pr.productID, 
     pr.productName, 
     pr.productPrice, 
     pu.creationDate 
FROM Product pr 
     LEFT JOIN Purchased pu 
       ON pr.productID = pu.productID 
WHERE pu.creationDate > 02/06/2014 
ORDER BY pr.productPrice DESC 
0

我會做一個內部聯接,而不是一個左連接,如果我不需要得到,但從未這些產品把它縮短根本買不到(意思是沒有條目)。 Joins Explained

和順序應該是最後要做的事情。

SELECT Product.productID, Product.productName, Product.productPrice, Purchased.creationDate 
FROM Product 
INNER JOIN Purchased 
ON Product.productID=Purchased.productID 
WHERE Purchased.creationDate > '2014-06-02' 
ORDER BY Product.productPrice DESC