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

推荐订阅源

D
DataBreaches.Net
小众软件
小众软件
腾讯CDC
Jina AI
Jina AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
The Cloudflare Blog
博客园 - 三生石上(FineUI控件)
V
Visual Studio Blog
Y
Y Combinator Blog
Engineering at Meta
Engineering at Meta
美团技术团队
U
Unit 42
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
WordPress大学
WordPress大学
N
Netflix TechBlog - Medium
Microsoft Security Blog
Microsoft Security Blog
L
LangChain Blog
罗磊的独立博客
aimingoo的专栏
aimingoo的专栏
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
G
Google Developers Blog
C
Check Point Blog
大猫的无限游戏
大猫的无限游戏
Recent Announcements
Recent Announcements

博客园 - 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 名称