首页 > 其他分享 >进销存三表联合查询

进销存三表联合查询

时间:2023-02-04 14:23:32浏览次数:46  
标签:code 进销存 查询 三表 IFNULL jiezhuan prod 入库 出库

SELECT a.jiezhuan_prod_code as 商品代码,a.jiezhuan_prod_name as 商品名称,
IFNULL(b.jiezhuan_count,0) as 期初数量,IFNULL(b.jiezhuan_money,0) as 期初金额,
IFNULL(c.入库数量,0) as 入库数量,IFNULL(c.入库金额,0) as 入库金额,
IFNULL(d.出库数量,0) as 出库数量,IFNULL(d.出库金额,0) as 出库金额,
IFNULL(b.jiezhuan_count,0)+IFNULL(c.入库数量,0)-IFNULL(d.出库数量,0) as 库存数量,
round((IFNULL(b.jiezhuan_money,0)+IFNULL(c.入库金额,0)-IFNULL(d.出库金额,0))/(IFNULL(b.jiezhuan_count,0)+IFNULL(c.入库数量,0)-IFNULL(d.出库数量,0)),2) as 库存单价,
IFNULL(b.jiezhuan_money,0)+IFNULL(c.入库金额,0)-IFNULL(d.出库金额,0) as 库存金额
from (select jiezhuan_prod_code,jiezhuan_prod_name from yiyun_kucunjiezhuan 
UNION select prod_code,prod_name from yiyun_ruku 
union select prod_codechuku,prod_namechuku from yiyun_chuku ORDER BY  jiezhuan_prod_code) as a 
left join (SELECT * from yiyun_kucunjiezhuan) as b on a.jiezhuan_prod_code=b.jiezhuan_prod_code
left join (SELECT prod_code,sum(ruku_count) as 入库数量,sum(ruku_money) as 入库金额 from yiyun_ruku group by prod_code) as c on a.jiezhuan_prod_code = c.prod_code
left join (select prod_codechuku,sum(chuku_count) as 出库数量,sum(chuku_money) as 出库金额 from yiyun_chuku GROUP BY prod_codechuku) as d on a.jiezhuan_prod_code = d.prod_codechuku
GROUP BY a.jiezhuan_prod_code ORDER BY 库存金额 desc

  

标签:code,进销存,查询,三表,IFNULL,jiezhuan,prod,入库,出库
From: https://www.cnblogs.com/eyunkeji/p/17091405.html

相关文章

  • spring boot集成mybatis-plus——新建工程与查询所有数据
    第一步引入依赖:<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-......
  • 001. SQL慢查询排查(字段类型不一致)
    目录​​一:背景​​​​二:排查过程​​​​2.1:SQL慢查询定位​​​​2.2:Python层面分析将String翻译成Int类型的原因​​​​2.3:Python进行SQL执行时间检测出现的问题......
  • sql数据库连表查询记录
     1、内连接查询(查询两个表都符合条件的数据)关键字innerjoin 基本格式  select字段列表  from表1innerjoin表2 on表1.字段=表2.字段  2、左连接查......
  • MyBatis的使用五(模糊查询)
    本文主要讲述mybatis如何进行模糊查询方式1:concat('%',#{str},'%')LikeSelect接口声明如下/***使用mybatis进行模糊查询*/publicinterfaceLikeSelect{......
  • CSP201612-3权限查询
            多年后再回头看这道题觉得很简单,写起来还是很复杂,我的书写习惯不好,找bug找了很久。特别注意在构建角色时,一个角色可能会有多个权限,取最大值,又......
  • MyBatis使用四(查询详解)
    本文主要讲述如何在mybatis中进行查询操作【详解】一.查询User对象1.查询单个对象UserSelectUser接口声明如下//主要条件是使用idpublicinterfaceSelect......
  • 根据ip查询归属地工具类
    publicstaticStringgetAddrByIp(Stringip){if(StrUtil.isBlank(ip)){returnnull;}Stringurl="https://api01.aliyun.venuscn.com/ip?ip="+......
  • linux查询磁盘是否做raid
    1、查看是否安装mdadm包rpm-qa|grepmdadm2、查看磁盘是否做了raidmdadm-E/dev/sd[bcde]1#可以忽略/dev/sda,一般都是用作系统盘mdadm:Nomdsuperblockdetectedon/d......
  • C++ 哈希表查询_进入哈希函数结界的世界
    1.前言哈希表或称为散列表,是一种常见的、使用频率非常高的数据存储方案。哈希表属于抽象数据结构,需要开发者按哈希表数据结构的存储要求进行API定制,对于大部分高级语言......
  • 笔记:海量数据的查询方法
    概述:每年大约有几千万近一亿的业务数据量,如何提高查询性能。具体方案:在表结构初始化阶段时,需要添加查询条件的索引;并且可以使用uuid主键和数字主键的联合业务主键,根据......