sql语句 联表查询 并进行除法运算

selectktregemp.org_code,(selectcount(ktpj.main_health_id)fromktpjwherektpj.zggh=ktreg... select ktregemp.org_code,
(select count(ktpj.main_health_id) from ktpj where ktpj.zggh=ktregemp.zggh and ktpj.type=1) hppjcount, //好评数
(select count(ktpj.main_health_id) from ktpj where ktpj.zggh=ktregemp.zggh) pjcount //总评数
from ktreg_emp ktregemp
联表查询得到好评数和总评数,现在想在这个SQL语句中再计算一下好评率(好评数/总评数)然后按照好评率排序,要怎么写?还有总评数为0的情况,也要考虑进去,当总评数为0时,好评率也应该为0,求帮助!!!
展开
 我来答
碧血玉叶花
2015-07-16 · TA获得超过4976个赞
知道大有可为答主
回答量:6154
采纳率:0%
帮助的人:1728万
展开全部
先用聚合函数求和,然后再减
SELECT t1.购房人, (t1.总房价- tu.已收款金额) AS UnPaid
FROM table1 AS t1, (SELECT sum(t2.已收款金额) AS 已收款金额,房间号
FROM dbo.table2 AS t2
GROUP BY 房间号) as tu
WHERE t1.房间号= tu.房间号
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
青鸟中关村专家
2015-07-16 · 知道合伙人软件行家
青鸟中关村专家
知道合伙人软件行家
采纳数:1734 获赞数:8440
就职于北大青鸟中关村,自2004年踏入北大青鸟这个行业,已经有11年工作经验和8年的培训经验,寓教于乐

向TA提问 私信TA
展开全部
select 总评率=case 
                    when 总评数 =0 then  0
                    else 总评数/好评数
           end  
from (
select ktregemp.org_code,
(select count(ktpj.main_health_id)  from ktpj where ktpj.zggh=ktregemp.zggh and ktpj.type=1) hppjcount,  //好评数
(select count(ktpj.main_health_id)  from ktpj where ktpj.zggh=ktregemp.zggh) pjcount    //总评数
from ktreg_emp ktregemp
)
追问

你给的方法试了一下,会报错,错误是:未找到要求的 FROM 关键字,我稍微调整了下,成这样,但是只能显示出好评率,其他像ktregemp.org_code这个数据读不出来,你能帮我看下吗?

追答
你在from前面只查询一个字段,还想显示哪些字段用逗号隔开就行了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式