根据 (进货记录/ 销售记录) 表 查询实时库存量的 SQL语句 for ACCESS
2009-01-04 09:37
961 查看
主要是用
left join on 语句, 左连接 ... 列合并 ..... 以第1张表为主, 将第2张表的满足ON 条件的列加进来!!!!
语法:
select * from
A
left join
B
on A.a=B.a
example:
SELECT a.类别, a.名称, a.品牌, a.型号, a.进货数量, b.销售数量, iif( IsNull(a.进货数量),0, a.进货数量)-iif( IsNull(b.销售数量),0, b.销售数量 ) AS 库存量
FROM
[SELECT 类别, 名称, 品牌, 型号, sum(数量) AS 进货数量, sum(金额) AS 进货金额 FROM B_JHJL GROUP BY 类别, 名称, 品牌, 型号 ]. AS A
LEFT JOIN
[SELECT 类别, 名称, 品牌, 型号, sum(数量) AS 销售数量, sum(金额) AS 销售金额 FROM B_XSJL GROUP BY 类别, 名称, 品牌, 型号 ]. AS B
ON
(iif( IsNull(a.型号), '', a.型号 )=iif( IsNull(b.型号), '', b.型号 )) AND (iif( IsNull(a.品牌), '', a.品牌 )=iif( IsNull(b.品牌), '', b.品牌 )) AND (A.名称=B.名称) AND (A.类别=B.类别)
left join on 语句, 左连接 ... 列合并 ..... 以第1张表为主, 将第2张表的满足ON 条件的列加进来!!!!
语法:
select * from
A
left join
B
on A.a=B.a
example:
SELECT a.类别, a.名称, a.品牌, a.型号, a.进货数量, b.销售数量, iif( IsNull(a.进货数量),0, a.进货数量)-iif( IsNull(b.销售数量),0, b.销售数量 ) AS 库存量
FROM
[SELECT 类别, 名称, 品牌, 型号, sum(数量) AS 进货数量, sum(金额) AS 进货金额 FROM B_JHJL GROUP BY 类别, 名称, 品牌, 型号 ]. AS A
LEFT JOIN
[SELECT 类别, 名称, 品牌, 型号, sum(数量) AS 销售数量, sum(金额) AS 销售金额 FROM B_XSJL GROUP BY 类别, 名称, 品牌, 型号 ]. AS B
ON
(iif( IsNull(a.型号), '', a.型号 )=iif( IsNull(b.型号), '', b.型号 )) AND (iif( IsNull(a.品牌), '', a.品牌 )=iif( IsNull(b.品牌), '', b.品牌 )) AND (A.名称=B.名称) AND (A.类别=B.类别)
相关文章推荐
- Oracle 删除重复数据只留一条 查询及删除重复记录的SQL语句 1、查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 wher
- Oracle 删除重复数据只留一条 查询及删除重复记录的SQL语句 1、查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 wher
- SQL 语句 一对多关系,根据一查询多里面对应一的最新的一条记录
- 查询同一表内多字段同时重复记录的SQL语句!
- (转)MySQL 查询重复出现次数最多的记录,按出现频率排序(SQL语句)
- 在oracle数据库中需要查询出前8条记录的sql语句
- sql 语句查询某一年每个月份记录条数
- SQL 查询重复出现次数最多的记录,按出现频率排序(SQL语句)
- 用SQL语句查询数据库中某一字段下相同值的记录方法
- sql语句面试题(查询按照申请日期倒序排列的前10个记录)
- SQL用select语句查询重复记录
- 数据库中随机查询一条记录的SQL语句
- SQL邮件自动应答(根据收到的邮件中的查询语句回复语句执行结果)
- 查询重复或不重复记录SQL语句
- SQL语句查询表中的第一条记录在不同数据库中的不同之处
- 根据参数指定的列名和值查询员工信息(使用动态sql语句)
- 页面Sql语句 查询根据判断值是否存在拼接查询条件
- SQL语句查询数据库中重复记录的个数
- hibernate中的query查询原生sql语句,如何获得返回记录中的每一个字段的值
- oracle 实时查询最耗CPU资源的SQL语句