2017-08-12 25 views
0

私は次の3つのテーブルを持っています:Product、User、およびPurchased。INNER JOIN SQLクエリでORDER BYを使用

製品が含まれています

  • を一意の識別子(のproductID)
  • 名(PRODUCTNAME)
  • 価格 (productprice)

ユーザーは含まれています

  • 一意の識別子(ユーザID)

購入は含まれています

  • 二つの識別子は、秘密鍵、のproductIDとユーザID
  • レコード(のCreationDateの日)として指摘

私のクエリがリストを返す必要があります最も高価な製品が最初に返された1月1日以来、小売業者のサイトで購入されたユニークな製品の数。

マイクエリ:

SELECT Product.productID, Product.productname, Purchased.creationdate 
FROM Product 
INNER JOIN Purchased 
ON Product.productID = Purchased.productID; 
ORDER BY Product.productprice DESC; 
+0

あなたの質問は何ですか? – philipxy

答えて

0

あなただけの製品のリストが必要な場合、私はexistsではなくjoinを示唆している:

select p.* 
from products p 
where exists (select 1 
       from purchased pu 
       where pu.productId = p.productId and 
        year(pu.creationdate) = year(now()) 
      ) 
order by price desc;