51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 7538|回复: 17
打印 上一主题 下一主题

[求助] 一道数据库的笔试题目

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-4-5 11:07:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
笔试的时候没做出来  -_-!!

有两个表

表一 AAA
种类mc        库存总量s1
A        997       
B        1234

表二         BBB
种类mc        出库数量s1
A        105
A        213
B        116
B        211
B        303
用一条SQL语句求出A,B各剩下多少?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2006-4-11 10:06:35 | 只看该作者
select a.mc,a.s1-b.q_out
from aaa a,(
select mc ,sum(s1) as q_out
from bb group by mc
)b
where a.mc=b.mc
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2006-4-11 16:00:43 | 只看该作者
谢了,学习了一招!
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2015-4-9 10:43
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    4#
    发表于 2006-4-13 15:01:29 | 只看该作者
    原帖由 lq810425 于 2006-4-11 10:06 发表
    select a.mc,a.s1-b.q_out
    from aaa a,(
    select mc ,sum(s1) as q_out
    from bb group by mc
    )b
    where a.mc=b.mc



    看的不是很懂呢  a.s1-b.q_out是什么意思  
    from aaa a,(
    select mc ,sum(s1) as q_out
    from bb group by mc
    )b这个又是怎么生成的呢?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2006-4-14 21:49:47 | 只看该作者
    select a.mc,a.s1-b.q_out
    from AAA as a,(
    select mc ,sum(s1) as q_out
    from BBB group by mc
    )as b
    where a.mc=b.mc
    这样写了是不是好理解点!


    a.s1-b.q_out的意思是把库存减去出库!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2006-4-15 19:12:43 | 只看该作者
    看懂了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2006-4-16 20:45:29 | 只看该作者
    原帖由 yjshen 于 2006-4-14 21:49 发表
    select a.mc,a.s1-b.q_out
    from AAA as a,(
    select mc ,sum(s1) as q_out
    from BBB group by mc
    )as b
    where a.mc=b.mc
    这样写了是不是好理解点!


    a.s1-b.q_out的意思是把库存减去出库!

    SQL语句有减的?
    学到了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2006-4-17 22:10:14 | 只看该作者
    有错误没有啊!!
    我学SQL也就10多天,,有错误的希望提出来啊!!
    哈哈!!!~~~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2006-9-2 11:40:01 | 只看该作者
    没错
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2006-9-2 11:54:46 | 只看该作者
    非常正确
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2008-12-2 14:50:24 | 只看该作者
    跟我写的一样
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2008-12-2 15:25:45 | 只看该作者
    又学了一点
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2008-12-8 13:25:59 | 只看该作者
    学习~~~~~ 高  !!!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2008-12-13 15:08:12 | 只看该作者
    yeah
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2008-12-13 15:09:44 | 只看该作者
    ,k
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2008-12-29 14:20:56 | 只看该作者
    学习了............................................
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
    发表于 2009-1-5 15:22:47 | 只看该作者
    SELECT aaa.种类mc,aaa.库存总量s1-ccc.出库总量 AS 剩余量
    FROM aaa,(SELECT 种类mc,SUM(出库数量s1 ) 出库总量 FROM bbb
    GROUP BY  种类mc ) AS ccc where aaa.种类mc=ccc.种类mc
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
    发表于 2009-5-14 17:21:19 | 只看该作者
    思路:
    1.先求各商品出售的总数,由表BBB用GROUP BY 对mc进行分类并SUM求和统计
    select sum(s1) as output from BBB group by mc
    2.库存总数-出售的总数=剩余库存
    3.由于是不是一张表,并且两张表有唯一关系mc ,可用"别名法"对两表关联起来.
    AAA 命名为 a , 各商品出售的总数命名为 b(这个时候b已经 是第3个表了,不能用直接BBB命名为b)
    4.用条件 表a的mc=表b的mc 约束起来
    答案: 
    select a.mc, a.s1-b.output
    from AAA as a,(select mc ,sum(s1) as output from BBB group by mc) as b
    where a.mc=b.mc

    大家想想为什么这个是错误的
    select a.mc,a.s1-(select sum(s1)from BBB group by mc)
    from AAA as a,BBB as b
    where a.mc=b.mc

    [ 本帖最后由 linxiaowen 于 2009-5-14 17:25 编辑 ]
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-24 03:55 , Processed in 0.075599 second(s), 25 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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