获得销售额最高的产品

时间:2017-03-06 08:32:51

标签: sql select

我需要一个查询来返回最常销售的产品。

我有两张表可供使用。

产品

 IDPRO(PK) DESCRIP                   STOCK     PRICE

   4000     PIZZA                      7       2000
   4001     HAMBURGUESA                8       800
   4002     PAELLA                     1       1000
   4003     CORDERO                    5       3000
   4004     COMIDA CHINA               9       500
   4005     ALBONDIGAS                 9       500

详细

 IDPRO(FK)   Amount

   4002          2
   4003          1
   4004          1
   4002          3
   4002          1
   4003        100
   4004         50
   4004          3
   4005         10

结果将是这样的

CORDERO

因为它是销售量最高的产品。

3 个答案:

答案 0 :(得分:0)

如果您需要总数量,可以在连接表上使用sum和group by

select t1.IDPRO, t1.DESCRIP, sum(t2.Amount) total 
FROM Product t1
INNER JOIN DETAILS t2 on t2.IDART = t1.IDPRO
GROUP BY  t1.IDPRO, t1.DESCRIP
ORDER BY total desc

答案 1 :(得分:0)

首先找到每个产品的CANTIDAD列的总和,然后选择前1行并加入表1。

<强>查询

select top 1 t1.IDPRO, t1.DESCRIP, t2.total 
from Product t1 
join (
    select IDART, sum(Amount) as total
    from Details
    group by IDART
)t2
on t1.IDPRO = t2.IDART
order by t2.total desc;

答案 2 :(得分:-1)

尝试一下这样的前导1:

WITH MAIN AS(
SELECT main.IDPRO, main.DESCRIP, main.CANTIDAD from Details det
LEFT JOIN Product main ON main.IDPRO=det.IDART)

SELECT TOP 1 * from MAIN