zoukankan      html  css  js  c++  java
  • 面试的两道SQL题

    1没有做出来,下午回来后,慢慢弄出来了。跟大家分享一下,看有无更好的解决方法
    表一test
    name result type

     张三 95 语文
     张三 85 数学
     张三 87 英语
     李四 67 数学
     李四 85 英语
     王五 86 语文
     王五 78 数学

    所有成绩都在80分以上的

    SELECT *
    FROM (SELECT name, COUNT(*) AS a
            FROM test
            WHERE (result > 80)
            GROUP BY name)
    WHERE (a = 3)

    表2 test2
    id goodsid scount type

     1 1 10 进
     2 2 20 进
     3 3 20 出
     4 1 45 出
     5 2 30 进
     6 3 40 出

    要得出
    goodsid 进货 出库 库存
    1 10 45 -35
    2 50 0 50
    3 0 60 -60
    这样的结果
    select isnull(a.goodsid,b.goodsid),isnull(a.sumjin,0),isnull(b.sumchu,0),isnull(a.sumjin,0)-

    isnull(b.sumchu,0) as kucun from
    (SELECT GoodsId, SUM(SCount) AS sumjin
    FROM test2
    WHERE (Type = '进')
    GROUP BY GoodsId) as a full join
    (SELECT GoodsId, SUM(SCount) AS sumchu
    FROM test2
    WHERE (Type = '出')
    GROUP BY GoodsId) as b on a.goodsid=b.goodsid

  • 相关阅读:
    DS博客作业05--查找
    DS博客作业04--图
    数据结构-栈,队列
    我の第六篇博客
    我の第五篇博客
    我の第四篇博客
    我の第三篇博客
    我の第二篇博客
    Java 购物车大作业01
    有理数类的设计
  • 原文地址:https://www.cnblogs.com/poplau/p/1554418.html
Copyright © 2011-2022 走看看