ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 2816|回复: 10

【求助!!!】sql简单应用的问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2012-10-29 21:38 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
有两张表,DATE1:
起始时间
周期
网元名称
小区名
载频索引
上行接收质量(0-5)总次数
上行接收质量(6-7)总次数
上行HQI(6-7)占比
下行接收质量(0-5)总次数
下行接收质量(6-7)总次数
下行HQI(6-7)占比
干扰带1-5次数
干扰带4-5次数
干扰带4-5占比
2012/10/29 8:00
60
BSC36
鄂旗棋盘井电厂-3
404
37
2
5.128
27
12
30.769
0.99
0
0
2012/10/29 8:00
60
BSC36
鄂旗棋盘井电厂-3
403
1794
11
0.609
1784
21
1.163
4.716
0
0
2012/10/29 8:00
60
BSC36
鄂旗棋盘井电厂-3
402
57
0
0
57
0
0
1.035
0
0


DATE2:
起始时间
周期
网元名称
小区名
K3014:TCH话务量(爱尔兰)
CH330:BSC间出小区切换请求次数(无)
CH331:BSC间出小区切换命令次数(无)
CH332:BSC间出小区切换失败次数(无)
CH333:BSC间出小区切换成功次数(无)
10/28/2012 08:00:00
60
BSC36
鄂旗西尼乌苏-3
1.521
6
6
0
6
10/28/2012 08:00:00
60
BSC36
鄂旗西尼乌苏-2
0.39
27
27
0
27
10/28/2012 08:00:00
60
BSC36
鄂旗西尼乌苏-1
1.194
5
5
0
5


其中标黄色的列是相同的数据。
我现在用两段分别对两张表进行单独处理,然后根据小区名再VLOOKUP,才能把两张表匹配起来:
SELECT
      left(起始时间,10) as 日期,
      网元名称,
      小区名,

sum([干扰带4-5次数])/sum([干扰带1-5次数]) AS [干扰带4-5比例],
iif([干扰带4-5比例]>0.15,1,0) as [干扰小区数量大于15%],
iif([干扰带4-5比例]>0.20,1,0) as [干扰小区数量大于20%],
iif([干扰带4-5比例]>0.30,1,0) as [干扰小区数量大于30%],

sum([上行接收质量(6-7)总次数])/sum([上行接收质量(0-5)总次数]+[上行接收质量(6-7)总次数]) AS [上行HQI(6-7)比例],
iif([上行HQI(6-7)比例]>0.05,1,0) as [上行质差小区数量],
sum([下行接收质量(6-7)总次数])/sum([下行接收质量(0-5)总次数]+[下行接收质量(6-7)总次数]) AS [下行HQI(6-7)比例],
iif([下行HQI(6-7)比例]>0.05,1,0) as [下行质差小区数量]

FROM
     (SELECT * FROM [Date1$])

group by
            left(起始时间,10),
      网元名称,
      小区名

SELECT
    left(起始时间,10) as 日期,
        网元名称,
    小区名,

sum([K3014:TCH话务量(爱尔兰)]) AS [TCH话务量],
FROM
     (SELECT * FROM [Date2$])

group by
      left(起始时间,10),
            网元名称,
      小区名


跪求:能不能用一段语句实现上面两段的结果?小弟菜鸟,坐等高手帮忙!

DATE1

DATE1

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-10-29 21:48 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
小弟QQ799028134,坐等高手帮忙!

TA的精华主题

TA的得分主题

发表于 2012-10-30 09:28 | 显示全部楼层
[code=sql]select *
from
(
  select * from tb1
) as a
inner join
(
  select * from tb2
) as b
on a.id = b.id[/code]

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-10-30 10:16 | 显示全部楼层
amazeyeli 发表于 2012-10-30 09:28

小弟不才,还是不明白啊

TA的精华主题

TA的得分主题

发表于 2012-10-30 10:33 | 显示全部楼层
[code=sql]select a.*, b.[TCH话务量]
from
(
SELECT
      left(起始时间,10) as 日期,
      网元名称,
      小区名,
sum([干扰带4-5次数])/sum([干扰带1-5次数]) AS [干扰带4-5比例],
iif([干扰带4-5比例]>0.15,1,0) as [干扰小区数量大于15%],
iif([干扰带4-5比例]>0.20,1,0) as [干扰小区数量大于20%],
iif([干扰带4-5比例]>0.30,1,0) as [干扰小区数量大于30%],
sum([上行接收质量(6-7)总次数])/sum([上行接收质量(0-5)总次数]+[上行接收质量(6-7)总次数]) AS [上行HQI(6-7)比例],
iif([上行HQI(6-7)比例]>0.05,1,0) as [上行质差小区数量],
sum([下行接收质量(6-7)总次数])/sum([下行接收质量(0-5)总次数]+[下行接收质量(6-7)总次数]) AS [下行HQI(6-7)比例],
iif([下行HQI(6-7)比例]>0.05,1,0) as [下行质差小区数量]
FROM
     (SELECT * FROM [Date1$])
group by
            left(起始时间,10),
      网元名称,
      小区名
) as a
inner join
(
SELECT
    left(起始时间,10) as 日期,
        网元名称,
    小区名,
sum([K3014:TCH话务量(爱尔兰)]) AS [TCH话务量],
FROM
     (SELECT * FROM [Date2$])
group by
      left(起始时间,10),
            网元名称,
      小区名
) as b
on a.日期=b.日期
and a.网元名称=b.网元名称
and a.小区名=b.小区名[/code]

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-10-30 10:53 | 显示全部楼层
amazeyeli 发表于 2012-10-30 10:33

问题已解决,多谢高手!

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-11-30 10:42 | 显示全部楼层
amazeyeli 发表于 2012-10-30 10:33

select a.*, b.*
from
(
SELECT
      网元名称,
      小区名,

sum([CH333:BSC间出小区切换成功次数(无)])/sum([CH331:BSC间出小区切换命令次数(无)]) AS [BSC间出小区切换成功率],
sum([CH343:BSC间入小区切换成功次数(无)])/sum([CH341:BSC间入小区切换应答次数(无)]) AS [BSC间入小区切换成功率]

FROM
     (SELECT * FROM [Date1$])
group by
      网元名称,
      小区名
) as a
inner join
(
SELECT
     网元名称,
    小区名,
sum([A9202:上行EGPRS TBF建立成功次数(无)])/sum([A9201:上行EGPRS TBF建立尝试次数(无)]) AS [上行EGPRS TBF建立成功率],
sum([A9002:上行GPRS TBF建立成功次数(无)])/sum([A9001:上行GPRS TBF建立尝试次数(无)]) AS [上行GPRS TBF建立成功率]

FROM
     (SELECT * FROM [Date2$])

group by
      网元名称,
      小区名
) as b
on  a.网元名称=b.网元名称
and a.小区名=b.小区名


使用这段代码时候产生的:
a.网元名称        a.小区名        BSC间出小区切换成功率        BSC间入小区切换成功率        b.网元名称        b.小区名        上行EGPRS TBF建立成功率        上行GPRS TBF建立成功率

出现两个网元名称,小区名
怎么才能只出现一个网元名称,小区名呢?

TA的精华主题

TA的得分主题

发表于 2012-11-30 14:23 | 显示全部楼层
select a.*, b.*
修改为:
select a.*,b.[上行EGPRS TBF建立成功率],b.[上行GPRS TBF建立成功率]

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-11-30 14:38 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
我上午就试了这个方法,当时失败了,就放弃了;结果刚才又试了一下,却成功了。多谢啦

TA的精华主题

TA的得分主题

发表于 2012-12-1 17:35 | 显示全部楼层
随便八卦一下,楼主是做维护的还是做网优的?网元设备BSC--多熟悉的名字呀{:soso_e100:}
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-17 20:47 , Processed in 0.050665 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表