导航
  • 主页
  • 基础类
  • 应用实例
  • 新技术前沿

HI《请高手帮忙看一下,由一个表得到另一个表的问题!有一定难度。谢谢了!

Angelnet 2008-01-16 09:46:02
表一:
日期 线别 订单号 送检批数 送检数量 缺陷明细 缺陷等级 工程原因分析 改善对策
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
通过表一得到表二,计算方式为:日期、线别、订单号、缺陷明细,缺陷等级,工程原因分析,改善对策一样的,合并成一行,送检
批数为订单号对应的送检批数最大那一个,送检数量为对应订单号累加(和日期等无关),批退批数为缺陷等级为无的累加,缺陷等级为无的不显示在表二中,谢谢,也不知说清楚没有!再次感谢!
...全文
82 点赞 收藏 6
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dawugui 2008-01-16
--加个改善对策=无,如果为空改为0
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 日期,线别,订单号,缺陷明细,缺陷等级,工程原因分析,改善对策
回复
dawugui 2008-01-16
--加个改善对策=无
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 日期,线别,订单号,缺陷明细,缺陷等级,工程原因分析,改善对策
回复
wuxinyuzhu 2008-01-16
没有看懂
回复
dawugui 2008-01-16
select 日期,线别,订单号,缺陷明细,缺陷等级,工程原因分析,改善对策,送检批数=max(送检批数),送检数量=sum(送检数量),批退批数=(select sum(批退批数) from tb where 日期=t.日期 and 线别 = t.线别 and 订单号 = t.订单号 and 缺陷明细 = t.缺陷等级 and 工程原因分析 = t.工程原因分析 and 改善对策 = t.改善对策) from tb t
group by 日期,线别,订单号,缺陷明细,缺陷等级,工程原因分析,改善对策
回复
中国风 2008-01-16
select
日期,线别,订单号,
送检批数=max(送检数量),
送检数量=(select sum(送检数量) from t where 订单号=a.订单号),
批退批数=SUM(送检数量),
缺陷明细,缺陷等级,工程原因分析,改善对策
from
T a
where
缺陷等级<>'无'
group by 日期,线别,订单号,缺陷明细,缺陷等级,工程原因分析,改善对策
回复
中国风 2008-01-16
select,
日期,线别,订单号,
送检批数=max(送检数量),
送检数量=(select sum(送检数量) from t where 订单号=a.订单号),
批退批数=SUM(送检数量),
缺陷明细,缺陷等级,工程原因分析,改善对策
from
T a
where
缺陷等级<>'无'
group by 日期,线别,订单号,缺陷明细,缺陷等级,工程原因分析,改善对策

回复
发动态
发帖子
MS-SQL Server
创建于2007-09-28

3.2w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
社区公告
暂无公告