惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Tailwind CSS Blog
The GitHub Blog
The GitHub Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
B
Blog
Microsoft Security Blog
Microsoft Security Blog
Stack Overflow Blog
Stack Overflow Blog
量子位
Martin Fowler
Martin Fowler
月光博客
月光博客
P
Proofpoint News Feed
博客园_首页
Y
Y Combinator Blog
I
InfoQ
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
V
Visual Studio Blog
H
Help Net Security
U
Unit 42
GbyAI
GbyAI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 司徒正美
MongoDB | Blog
MongoDB | Blog
F
Fortinet All Blogs
罗磊的独立博客
酷 壳 – CoolShell
酷 壳 – CoolShell

博客园 - powerlc

mobile WareHouse 项目笔记1 moss 与SAP iView web part 整合 一个合格的程序员该做的事情 IT职场健康杀手与应对宝典 (虽然是IT职场,可是对于常上网的ggmm也是很有用的) 常用CASE工具介绍 ZZ 北京知名百货公司宰客内幕 开发工程师人生之路 (推荐) Asp.net中在datagrid中放checkbox控件的全选 - powerlc - 博客园 C#修饰符 c++程序员的常用工具集 10条有益的涉世建议ZZ 算术运算的溢出问题 计算机中的原码、反码和补码 C#的代理和事件 Repeater导出为excel格式 常见算法基础之排序 算法 ZZ 约瑟夫c++ ZZ JavaScript实用的一些技巧 - powerlc - 博客园
用一条SQL完成数据表的行统计
powerlc · 2005-09-08 · via 博客园 - powerlc

有数据表:

名称    数量   状态
-----------------------
产品A    10     进货
产品A    20     销售
产品B    20     进货

要查询结果为:

产品名称   库存数量
-----------------------
产品A        -10 
产品B         20

解决方法一:
SELECT
DISTINCT 名称,
(ISNULL((select SUM(A.数量) from 库存表 A WHERE A.名称 = 库存表.名称 AND A.状态='进货'), 0)
-
ISNULL((select SUM(A.数量) from 库存表 A WHERE A.名称 = 库存表.名称  AND A.状态='销售'), 0)) AS 库存数量
FROM
库存表

解决方法二(Access):
SELECT 名称,Sum(IIF(状态='进货',1,-1) * 数量) as  库存数量 From 库存表 Group By 名称

解决方法三(Access):

SELECT 名称,Sum(IIF(状态='进货',数量,0)-IIF(状态='销货',数量,0)) as  库存数量 From 库存表 Group By 名称