加入问题的不同组

时间:2010-08-09 15:11:35

标签: sql oracle oracle10g

这就是我想要实现的目标:

我有很多类别,每个类别都有产品。

我想制作一份报告,显示有关每个类别的产品的各种信息。所以我的查询看起来像:

select
category,
count(products),
sum(product_price),
from product
group by category 

到目前为止一切顺利。

但是现在我还希望从具有类别信息的表中获取一些特定于类别的信息。我有效地说:

加入category_info on category

除了它将为每个组的每一行创建一个连接,而不是为每个组创建一个连接。

我真正希望能够对sql说的是'对于每个组,采用不同的类别值,其中保证只有一个,因为我正在对其进行分组,然后使用它来加入类别信息表'

如何在SQL中完成此操作?顺便说一下,我正在使用Oracle 10g ..

非常感谢!

1 个答案:

答案 0 :(得分:5)

select a.category, a.Count, a.SumPrice
    ci.OtherColumn
from (
    select p.category, 
        count(p.products) as Count, 
        sum(p.product_price) as SumPrice, 
    from product p
    group by category 
) a
inner join category_info ci on a.category = ci.category