• 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

  • 相关阅读:
    Objects类源码详解(基于jdk1.8.0_261)
    Object类源码详解(基于jdk1.8.0_261)
    Collections工具类源码详解(基于jdk1.8.0_261)
    版本控制神器——git的基本使用
    数据结构练习1~插入排序~
    求指错啊急是求幂的
    编完了个代码大家给看看还能不能精简
    关于KMP算法
    有网友建议写一个新手指南或者FAQ一类的置顶你们认为呢
    c语言新手编程错误求解
  • 原文地址:https://www.cnblogs.com/chengulv/p/796611.html
Copyright © 2020-2023  润新知