中易网

查询一个表中的字段和大于另一个表中的固定值的sql语句如何写

答案:5  悬赏:70  
解决时间 2021-12-31 04:40
表一有:mc,dj,sl三个字段
表二又:mc,xj两个字段
现在希望查询出sum(dj*sl)>xj的sql语句如何写?

已解决,group处少打了by

多谢各位的帮助
最佳答案
试试这个

select a.mc ,sum(dj*sl) from table1 a,table2 b
where a.mc = b.mc

group by a.mc

having sum(dj*sl)>sum(b.xj)
全部回答
写法有很多种,下面这种比较容易理解: select * from (select mc,--商品名称 sum(dj*sl) as je,--从表一中汇总出该商品的销售金额 (select xj from 表二 where mc=a.mc) as xj--从表二取得该商品销售金额 from 表一 a group by mc) b--把查询结果作为一个虚拟的表 where je>xj--你希望的条件
我想问一下您的目的是不是想查询出: 表一与表二中mc一样的地方(比如说名称都是货物甲),求出表1中凡是mc为货物甲的sum(dj*sl),再与表2中mc为货物甲的xj比较,当前者大于后者时,便列出相应的mc单独列表?(还要不要列出其它字段?)
create table A1( mc int, dj int, sl int ); create table A2( mc int, xj int ); select * from A1 for update; MC DJ SL 1 1 2 3 2 2 3 4 3 3 4 5 select * from A2 for update; MC XJ 1 1 17 2 2 3 3 4 5 select A1.MC from A1,A2 where A1.MC=A2.MC group by A1.MC,A1.dj,A1.sl,A2.xj having sum(A1.dj*A1.sl)>A2.xj; MC 1 2
楼主说的是更新吧,楼上说的是sql server的语法,不知道楼主是什么数据库,如果是oracle的话 建议这么写: update a set col=(select col from b where a.id=b.id) exists(select 1 from b where a.id=b.id ) 注意:两个表的id 一定要一一对应,不让会报错:查询单个值返回多条记录。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
把100个苹果分装在6只篮子里要求每个篮子里的
东工人镇派出所地址有知道的么?有点事想过去
重力式挡土墙的墙背可作成哪几种形式?各有何
惱喪的意思是什么?惱喪的释义是什么啊?
为什么有好多人愿意建群给人家讲课?挣钱吗?
善月的意思是什么啊?请解释下!
雪声的意思是什么?雪声的释义是什么啊?
《三园演义》第十六回简介
江汉大学2016年艺考生校考成绩什么时候出来
虏役的意思是什么啊?请解释下!
蔚氣的意思是什么?蔚氣的释义是什么啊?
cdr张建了多个页面,在页面旁边的图案怎么也
传入的意思是什么?传入的释义是什么啊?
尺半的意思是什么啊?请解释下!
观音堂派出所办公地址在什么地方,我要处理点
推荐资讯
重庆浅之溪客栈怎么去啊,有事要去办理
纂襲的意思是什么?纂襲的释义是什么啊?
请问我店面养风水鱼的话应该放在哪个方位?
一铺滩的意思是什么?一铺滩的释义是什么啊?
QQ炫舞故事
横发的意思是什么啊?请解释下!
有一个笑话。看了什么电影,觉得谁不可靠
较尉的意思是什么啊?请解释下!
为什么有esp的车高速急刹车时 路面没有刹车印
小书屋阅读答案。求!!!!给分
武乡县村委会地址在什么地方,想过去办事
藻玉的意思是什么啊?请解释下!
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?