繁体   English   中英

在INNER JOIN SQL查询上使用ORDER BY

[英]Using ORDER BY on an INNER JOIN SQL query

我有以下三个表:产品,用户和购买的。

产品包含:

  • 唯一标识符(productID)
  • 名称(产品名)
  • 一口价(productprice)

用户包含:

  • 唯一标识符(用户ID)

购买包含:

  • 标为私钥的两个标识符,productID和userID
  • 记录的日期(创建日期)

我的查询应该返回自1月1日以来在零售商的网站上购买的独特商品的列表,其中最昂贵的商品先返回。

我的查询:

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

如果您只想要产品列表,我建议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;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM