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

  • 相关阅读:
    http缓存机制与原理
    BFC与浮动
    05ICMP协议与ARP协议(IP协议中重要协议)
    04IP编址(网络层)
    03以太网帧结构(链路层 IEEE802.3)
    02传输介质简介
    shell 脚本 2
    shell 脚本 1
    shell 中时间 表达
    sed 行编辑器
  • 原文地址:https://www.cnblogs.com/chengulv/p/796611.html
Copyright © 2011-2022 走看看