关于这个问题,我有两张表,如下:
现在如何存储这个产品子类别。例如:假设产品类别为“书籍”,我有三个产品子类别,如“小说”、“教科书”和“小说”。因此,在这种情况下,每个产品子类别都会被分配一个ID,比如1,2,3等等。
我所做的就是,我把这个问题分成两部分&写了两个独立的查询。查询如下。我无法找到如何加入这两个查询来实现输出。对于我的query1,我已经获取了所有的产品子类别。在query2 -我已经获得了前5种产品类别的数量基础上出售。
现在,我觉得Query2可以在WHERE子句中用作Query1中的子查询。但是它可能需要一些修改,因为我所知道的是orderby不能用于子查询&子查询的结果也是一个输出。
因此,我需要一些关于如何组合/修改这个查询以实现结果的帮助。
**Query1**
select P.prod_subcat as Product_SubCategory,
AVG(cast(total_amt as float)) as Average_Revenue,
SUM(cast(total_amt as float)) as Total_Revenue
from Transactions as T
INNER JOIN prod_Cat_info as P
ON T.prod_cat_code = P.prod_cat_code AND T.prod_subcat_code =
P.prod_sub_cat_code
group by P.prod_subcat
**Query2**
select top 5 P.prod_cat, sum(Cast(Qty as int)) AS Quantities_sold from
prod_cat_info as P
inner join Transactions as T
ON P.prod_cat_code = T.prod_cat_code AND P.prod_sub_cat_code =
T.prod_subcat_code
group by P.prod_cat
order by sum(Cast(Qty as int)) desc发布于 2019-08-27 16:57:47
如果您有一个带有TOP操作符的ORDER BY,这正是您的情况,那么您可以在子查询中使用order。因为在本例中,ORDER BY用于确定TOP子句返回的行。对于多个值,可以使用IN运算符
select P.prod_subcat as Product_SubCategory,
AVG(cast(total_amt as float)) as Average_Revenue,
SUM(cast(total_amt as float)) as Total_Revenue
from Transactions as T
INNER JOIN prod_Cat_info as P
ON T.prod_cat_code = P.prod_cat_code AND T.prod_subcat_code =
P.prod_sub_cat_code
WHERE P.prod_cat_code IN (
select top 5 P.prod_cat_code
from prod_cat_info as P
inner join Transactions as T
ON P.prod_cat_code = T.prod_cat_code AND P.prod_sub_cat_code =
T.prod_subcat_code
group by P.prod_cat
order by sum(Cast(Qty as int)) desc
)
group by P.prod_subcat发布于 2022-10-07 10:05:43
Select prod_cat, prod_subcat , avg(total_amt) as average_amount , sum(total_amt) as total_amount
From transactions as t
inner join prod_cat_info as p
on t.prod_subcat_code=p.prod_sub_cat_code and t.prod_cat_code = p.prod_cat_code
Where prod_cat in
(Select Top 5 prod_cat
From transactions as t
inner join prod_cat_info as p
on t.prod_subcat_code=p.prod_sub_cat_code and t.prod_cat_code = p.prod_cat_code
Where total_amt > 0 and qty > 0
Group by prod_cat
Order by count(qty) desc)
Group by prod_subcat
Order by prod_cat asc;https://stackoverflow.com/questions/57678727
复制相似问题