读书人

请问一个sql语句

发布时间: 2012-03-21 13:33:14 作者: rapoo

请教一个sql语句
请教一个sql语句
我想写一个查询
是这样的:
table a
time category com_number xunpan_count_total



table b
time category company xunpan_count


a表中,time 和 category是两个维度,分别表示时间和行业,a.com_number表示某个行业的公司数量,比如制造业,有20家公司,a.xunpan_count_total表示在这个时间、这个行业的询盘总数


b表中的company表示该行业的具体的某一家公司名,b.xunpan_count表示这个公司在中国时间发的询盘量
=================================================================================================
现在我想通过这两张表联合查询出b表中公司的询盘量大于这个行业的平均询盘量的公司。
请问该如何写sql,谢谢!~~

[解决办法]
写测试数据的时间,比写SQL还多,哎,不说了,直接贴代码

[code=sql]
-- 测试数据
with a as
(select '201001' time, '制造业' category, 10 com_number, 352 xunpan_count_total from dual union all
select '201001', '服务业', 10, 30 from dual
)
,b as
(select '201001' time, '制造业' category, '公司1' company, 30 xunpan_count from dual union all
select '201001', '制造业', '公司2', 60 from dual union all
select '201001', '服务业', '公司3', 60 from dual
)

-- 查询 SQL
select company.time 时间
,company.company 公司名称
,company.xunpan_count 公司询盘量
,huangye.xunpan_count_total/huangye.com_number 行业平均询盘量
from b company
inner join a huangye
on huangye.time = company.time and huangye.category = company.category
and (huangye.xunpan_count_total/huangye.com_number) < company.xunpan_count;

[/code]

读书人网 >行业软件

热点推荐