表一:
日期 线别 订单号 送检批数 送检数量 缺陷明细 缺陷等级 工程原因分析 改善对策
2008-1-1 A CH-001 1 100 AAA 重 A123 C001
2008-1-1 A CH-001 2 50 AAA 重 A123 C001
2008-1-1 A CH-001 4 50 无
2008-1-1 A CH-001 3 250 B 轻 B215 D555
2008-1-1 B CH-001 1 120 重 重 A123 C001
2008-1-2 A CH-002 1 130 重 重 B001 F001
表二:
日期 线别 订单号 送检批数 送检数量 批退批数 批退率 缺陷明细 缺陷明细 工程原因分析 改善对策
2008-1-1 A CH-001 4 450 3 75.00% AAA 重 A123 C001
2008-1-1 A CH-001 4 450 3 75.00% B 轻 B215 D555
2008-1-2 A CH-002 1 130 1 100.00% 重 重 B001 F001
2008-1-1 B CH-001 1 120 1 100.00% 重 重 A123 C001
通过表一得到表二,计算方式为:日期、线别、订单号、缺陷明细,缺陷等级,工程原因分析,改善对策一样的,合并成一行,送检
批数为订单号对应的送检批数最大那一个,送检数量为对应订单号累加(和日期等无关),批退批数为缺陷等级为无的累加,缺陷等级为无的不显示在表二中,谢谢,也不知说清楚没有!再次感谢!
日期 线别 订单号 送检批数 送检数量 缺陷明细 缺陷等级 工程原因分析 改善对策
2008-1-1 A CH-001 1 100 AAA 重 A123 C001
2008-1-1 A CH-001 2 50 AAA 重 A123 C001
2008-1-1 A CH-001 4 50 无
2008-1-1 A CH-001 3 250 B 轻 B215 D555
2008-1-1 B CH-001 1 120 重 重 A123 C001
2008-1-2 A CH-002 1 130 重 重 B001 F001
表二:
日期 线别 订单号 送检批数 送检数量 批退批数 批退率 缺陷明细 缺陷明细 工程原因分析 改善对策
2008-1-1 A CH-001 4 450 3 75.00% AAA 重 A123 C001
2008-1-1 A CH-001 4 450 3 75.00% B 轻 B215 D555
2008-1-2 A CH-002 1 130 1 100.00% 重 重 B001 F001
2008-1-1 B CH-001 1 120 1 100.00% 重 重 A123 C001
通过表一得到表二,计算方式为:日期、线别、订单号、缺陷明细,缺陷等级,工程原因分析,改善对策一样的,合并成一行,送检
批数为订单号对应的送检批数最大那一个,送检数量为对应订单号累加(和日期等无关),批退批数为缺陷等级为无的累加,缺陷等级为无的不显示在表二中,谢谢,也不知说清楚没有!再次感谢!
解决方案 »
- datetime使用dateadd()为什么2009-12-12 07:57:00格式变成了12 12 2009 3:53PM格式
- update set 语名出错
- 一个比较难的查询语句
- 把.bak结尾文件还原成sql server数据库文件
- 本机(笔记本)的sqlserver服务,在拨出网线后无法访问?能否解决?
- 急!!!如何向5000张左右的表插入数据
- SQLSERVER2000中如何执行500M的SQL文件?
- 订单表和订单明细表的插入,删除问题,好急的!
- 这样的查询如何写?
- 触发器生成新表的问题
- 在用DISTINCT的时候,如何返回该组中有多少个。
- 数据监视.对用户可以记录每次detele,update,add的时间和用户,但对于可以直接用查询分析器连来操作数据库的,是否可以作监视和记录???
group by 日期,线别,订单号,缺陷明细,缺陷等级,工程原因分析,改善对策
select 日期,线别,订单号,缺陷明细,缺陷等级,工程原因分析,改善对策,送检批数=max(送检批数),送检数量=sum(送检数量),批退批数=(select sum(批退批数) from tb where 改善对策 = '无' and 日期=t.日期 and 线别 = t.线别 and 订单号 = t.订单号 and 缺陷明细 = t.缺陷等级 and 工程原因分析 = t.工程原因分析 and 改善对策 = t.改善对策) from tb t
group by 日期,线别,订单号,缺陷明细,缺陷等级,工程原因分析,改善对策
select 日期,线别,订单号,缺陷明细,缺陷等级,工程原因分析,改善对策,送检批数=max(送检批数),送检数量=sum(送检数量),批退批数=(select isnull(count(*),0) from tb where 改善对策 = '无' and 日期=t.日期 and 线别 = t.线别 and 订单号 = t.订单号 and 缺陷明细 = t.缺陷等级 and 工程原因分析 = t.工程原因分析 and 改善对策 = t.改善对策) from tb t
group by 日期,线别,订单号,缺陷明细,缺陷等级,工程原因分析,改善对策
日期,线别,订单号,
送检批数=max(送检数量),
送检数量=(select sum(送检数量) from t where 订单号=a.订单号),
批退批数=SUM(送检数量),
缺陷明细,缺陷等级,工程原因分析,改善对策
from
T a
where
缺陷等级<>'无'
group by 日期,线别,订单号,缺陷明细,缺陷等级,工程原因分析,改善对策
日期,线别,订单号,
送检批数=max(送检数量),
送检数量=(select sum(送检数量) from t where 订单号=a.订单号),
批退批数=SUM(送检数量),
缺陷明细,缺陷等级,工程原因分析,改善对策
from
T a
where
缺陷等级<>'无'
group by 日期,线别,订单号,缺陷明细,缺陷等级,工程原因分析,改善对策