zoukankan      html  css  js  c++  java
  • group by 使用


    商品库存表: 仓库编号   商品编号   数量
                CangKuID  ProductID   Quantity
                 1          3          50
                 1          3          100
                 2          4          60
                 2          4          150

    商品表:     商品编号    商品名称   单位
                  3           电脑      台
                  4           电视      台

    现在想实现显示成:

         商品名称   单位  数量
           电脑      台    150
           电视      台    210







    create table 商品库存表(CangKuID int,ProductID int,Quantity int)
    insert into 商品库存表
    select 1,3,50
    union all select 1,3,100
    union all select 2,4,60
    union all select 2,4,150

    create table 商品表(商品编号 int,商品名称 varchar(20),单位 varchar(6))
    insert into 商品表
    select 3,'电脑','台'
    union all select 4,'电视','台'

    select 商品名称,
    单位,
    商品库存表.Quantity as '数量'
    from 商品表
    left join (select ProductID,sum(isnull(Quantity,0)) as Quantity from 商品库存表 group by ProductID) 商品库存表 on 商品库存表.ProductID=商品表.商品编号
    /*
    商品名称                 单位     数量         
    -------------------- ------ -----------
    电脑                   台      150
    电视                   台      210

    (所影响的行数为 2 行)
    */





    select a.productname,a.unit,b.Quantity
    from Product a  -- NO1
    right join
    (select ProductID,sum(isnull(Quantity,0)) as Quantity from CangKuStock group by ProductID) b  -- NO3
    on b.ProductID=a.Productid

  • 相关阅读:
    Python
    Linux, Nginx
    Python
    C#图像处理(各种旋转、改变大小、柔化、锐化、雾化、底片、浮雕、黑白、滤镜效果)
    堆——神奇的优先队列(下)
    堆——神奇的优先队列(上)
    二叉树
    开启“树”之旅
    巧妙的邻接表(数组实现)
    Dijkstra最短路算法
  • 原文地址:https://www.cnblogs.com/chengulv/p/796611.html
Copyright © 2011-2022 走看看