怎么写这个sql语句?

zhangmingtao 2004-09-17 09:26:04
表1(所有单据):
字段1:订单id
字段2:供应商id
字段3:单据状态:1,新订单;2,回复过的订单
表2(订单回复情况,只有回复过的订单在这里):
字段1:订单id
字段2:供应商id
字段3:单据状态(这里的状态肯定都是2):1,新订单;2,回复过的订单
字段4:回复情况:0,全满足;1,部分满足;

怎样选出这样的统计结果啊:

统计每个供应商的单据情况:
供应商id,订单总数,新订单数,全满足数,部分满足数
...全文
82 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangmingtao 2004-09-17
  • 打赏
  • 举报
回复
够强,谢谢!!!
zhmt 2004-09-17
  • 打赏
  • 举报
回复
create procedure get_52_catalog()
drop table tmp_52;
drop table tmp_5202;

create temp table tmp_52(
venderid int, --供应商编码
total int, --订单总数
new_pur int, --待确认
fully int, --满足
partly int, --部分满足
refuse int --不满足
) with no log;
create temp table tmp_5202(
venderid int, --供应商编码
name char ------------------
total int, --订单总数
new_pur int, --待确认
fully int, --满足
partly int, --部分满足
refuse int --不满足
) with no log;

--完全新的
insert into tmp_52 (venderid,total) --总数
select venderid,count(sheetid) as total
from new_sheet
where sheetname='purchase';

insert into tmp_52 (venderid,new_pur) --待确认
select venderid,count(sheetid) as new_pur
from new_sheet
where status=1 and sheetname='purchase';

--已阅读的
insert into tmp_52 (venderid,fully) --完全满足
select venderid,count(sheetid) as fully
from new_sheet
where status=1 and sheetname='purchase';

insert into tmp_52 (venderid,partly) --部分满足
select venderid,count(sheetid) as partly
from new_sheet
where status=1 and sheetname='purchase';

insert into tmp_52 (venderid,refuse) --不满足
select venderid,count(sheetid) as refuse
from new_sheet
where status=1 and sheetname='purchase';

insert into tmp_5202 (venderid,
name,
total,
new_pur,
fully,
partly,
refuse)
select t.venderid,
v.name,
sum(t.total),
sum(t.new_pur),
sum(t.fully),
sum(t.partly),
sum(t.refuse)
from tmp_52 t,vender_list v;

drop table tmp_52;
end procedure;

1,195

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 Informix
社区管理员
  • Informix社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧