求账龄分析表SQL

percy_620515 2012-08-12 05:12:28
现有
表T 及字段分别为: CK_CODE 仓库, BOM_CODE 物料代码, LRSL 入库数量, PRICE 单价,JE 金额,FSRQ 入库时间 ,GYS_CODE 供应商
仓库表A及字段分别为:CK_CODE 仓库, BOM_CODE 物料代码, SL 库存数量;

求账龄分析表SQL

表格式大体为:

...全文
712 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
percy_620515 2012-08-25
  • 打赏
  • 举报
回复
3ks,我已经在后台中用过程处理了!!
飞火流星02027 2012-08-21
  • 打赏
  • 举报
回复
select ck_code,bom_code,bom_name,unit,sum(b_je1),sum(b_je2),sum(b_je3),sum(b_je4),sum(b_je5),sum(b_je6),
sum(b_je7),sum(b_je8),sum(b_je9),sum(b_je10),sum(b_je11),sum(b_je12)
from
(
select t.*,decode(order_type,'R',fssl,'C',-fssl) b_sl,
CASE WHEN fsrq between TO_TIMESTAMP('01-1月 -12 12.00.00.838000 上午','DD-Mon -RR HH.MI.SS.FF am TZH')
and TO_TIMESTAMP('31-1月 -12 11.59.59.838000 下午','DD-Mon -RR HH.MI.SS.FF am TZH') THEN decode(order_type,'R',je,'C',-je)
END b_je1,
CASE WHEN fsrq between TO_TIMESTAMP('01-2月 -12 12.00.00.838000 上午','DD-Mon -RR HH.MI.SS.FF am TZH')
and TO_TIMESTAMP('29-2月 -12 11.59.59.838000 下午','DD-Mon -RR HH.MI.SS.FF am TZH') THEN decode(order_type,'R',je,'C',-je)
END b_je2,
CASE WHEN fsrq between TO_TIMESTAMP('01-3月 -12 12.00.00.838000 上午','DD-Mon -RR HH.MI.SS.FF am TZH')
and TO_TIMESTAMP('31-3月 -12 11.59.59.838000 下午','DD-Mon -RR HH.MI.SS.FF am TZH') THEN decode(order_type,'R',je,'C',-je)
END b_je3,
CASE WHEN fsrq between TO_TIMESTAMP('01-4月 -12 12.00.00.838000 上午','DD-Mon -RR HH.MI.SS.FF am TZH')
and TO_TIMESTAMP('30-4月 -12 11.59.59.838000 下午','DD-Mon -RR HH.MI.SS.FF am TZH') THEN decode(order_type,'R',je,'C',-je)
END b_je4,
CASE WHEN fsrq between TO_TIMESTAMP('01-5月 -12 12.00.00.838000 上午','DD-Mon -RR HH.MI.SS.FF am TZH')
and TO_TIMESTAMP('31-5月 -12 11.59.59.838000 下午','DD-Mon -RR HH.MI.SS.FF am TZH') THEN decode(order_type,'R',je,'C',-je)
END b_je5,
CASE WHEN fsrq between TO_TIMESTAMP('01-6月 -12 12.00.00.838000 上午','DD-Mon -RR HH.MI.SS.FF am TZH')
and TO_TIMESTAMP('30-6月 -12 11.59.59.838000 下午','DD-Mon -RR HH.MI.SS.FF am TZH') THEN decode(order_type,'R',je,'C',-je)
END b_je6,
CASE WHEN fsrq between TO_TIMESTAMP('01-7月 -12 12.00.00.838000 上午','DD-Mon -RR HH.MI.SS.FF am TZH')
and TO_TIMESTAMP('31-7月 -12 11.59.59.838000 下午','DD-Mon -RR HH.MI.SS.FF am TZH') THEN decode(order_type,'R',je,'C',-je)
END b_je7,
CASE WHEN fsrq between TO_TIMESTAMP('01-8月 -12 12.00.00.838000 上午','DD-Mon -RR HH.MI.SS.FF am TZH')
and TO_TIMESTAMP('31-8月 -12 11.59.59.838000 下午','DD-Mon -RR HH.MI.SS.FF am TZH') THEN decode(order_type,'R',je,'C',-je)
END b_je8,
CASE WHEN fsrq between TO_TIMESTAMP('01-9月 -12 12.00.00.838000 上午','DD-Mon -RR HH.MI.SS.FF am TZH')
and TO_TIMESTAMP('30-9月 -12 11.59.59.838000 下午','DD-Mon -RR HH.MI.SS.FF am TZH') THEN decode(order_type,'R',je,'C',-je)
END b_je9,
CASE WHEN fsrq between TO_TIMESTAMP('01-10月 -12 12.00.00.838000 上午','DD-Mon -RR HH.MI.SS.FF am TZH')
and TO_TIMESTAMP('31-10月 -12 11.59.59.838000 下午','DD-Mon -RR HH.MI.SS.FF am TZH') THEN decode(order_type,'R',je,'C',-je)
END b_je10,
CASE WHEN fsrq between TO_TIMESTAMP('01-11月 -12 12.00.00.838000 上午','DD-Mon -RR HH.MI.SS.FF am TZH')
and TO_TIMESTAMP('30-11月 -12 11.59.59.838000 下午','DD-Mon -RR HH.MI.SS.FF am TZH') THEN decode(order_type,'R',je,'C',-je)
END b_je11,
CASE WHEN fsrq between TO_TIMESTAMP('01-12月 -12 12.00.00.838000 上午','DD-Mon -RR HH.MI.SS.FF am TZH')
and TO_TIMESTAMP('31-12月 -12 11.59.59.838000 下午','DD-Mon -RR HH.MI.SS.FF am TZH') THEN decode(order_type,'R',je,'C',-je)
END b_je12,

CASE
WHEN fsrq between TO_TIMESTAMP('01-1月 -12 12.00.00.838000 上午','DD-Mon -RR HH.MI.SS.FF am TZH')
and TO_TIMESTAMP('31-1月 -12 11.59.59.838000 下午','DD-Mon -RR HH.MI.SS.FF am TZH') THEN 1
WHEN fsrq between TO_TIMESTAMP('01-2月 -12 12.00.00.838000 上午','DD-Mon -RR HH.MI.SS.FF am TZH')
and TO_TIMESTAMP('29-2月 -12 11.59.59.838000 下午','DD-Mon -RR HH.MI.SS.FF am TZH') THEN 2
WHEN fsrq between TO_TIMESTAMP('01-3月 -12 12.00.00.838000 上午','DD-Mon -RR HH.MI.SS.FF am TZH')
and TO_TIMESTAMP('31-3月 -12 11.59.59.838000 下午','DD-Mon -RR HH.MI.SS.FF am TZH') THEN 3
WHEN fsrq between TO_TIMESTAMP('01-4月 -12 12.00.00.838000 上午','DD-Mon -RR HH.MI.SS.FF am TZH')
and TO_TIMESTAMP('30-4月 -12 11.59.59.838000 下午','DD-Mon -RR HH.MI.SS.FF am TZH') THEN 4
WHEN fsrq between TO_TIMESTAMP('01-5月 -12 12.00.00.838000 上午','DD-Mon -RR HH.MI.SS.FF am TZH')
and TO_TIMESTAMP('31-5月 -12 11.59.59.838000 下午','DD-Mon -RR HH.MI.SS.FF am TZH') THEN 5
WHEN fsrq between TO_TIMESTAMP('01-6月 -12 12.00.00.838000 上午','DD-Mon -RR HH.MI.SS.FF am TZH')
and TO_TIMESTAMP('30-6月 -12 11.59.59.838000 下午','DD-Mon -RR HH.MI.SS.FF am TZH') THEN 6
WHEN fsrq between TO_TIMESTAMP('01-7月 -12 12.00.00.838000 上午','DD-Mon -RR HH.MI.SS.FF am TZH')
and TO_TIMESTAMP('31-7月 -12 11.59.59.838000 下午','DD-Mon -RR HH.MI.SS.FF am TZH') THEN 7
WHEN fsrq between TO_TIMESTAMP('01-8月 -12 12.00.00.838000 上午','DD-Mon -RR HH.MI.SS.FF am TZH')
and TO_TIMESTAMP('31-8月 -12 11.59.59.838000 下午','DD-Mon -RR HH.MI.SS.FF am TZH') THEN 8
WHEN fsrq between TO_TIMESTAMP('01-9月 -12 12.00.00.838000 上午','DD-Mon -RR HH.MI.SS.FF am TZH')
and TO_TIMESTAMP('30-9月 -12 11.59.59.838000 下午','DD-Mon -RR HH.MI.SS.FF am TZH') THEN 9
WHEN fsrq between TO_TIMESTAMP('01-10月 -12 12.00.00.838000 上午','DD-Mon -RR HH.MI.SS.FF am TZH')
and TO_TIMESTAMP('31-10月 -12 11.59.59.838000 下午','DD-Mon -RR HH.MI.SS.FF am TZH') THEN 10
WHEN fsrq between TO_TIMESTAMP('01-11月 -12 12.00.00.838000 上午','DD-Mon -RR HH.MI.SS.FF am TZH')
and TO_TIMESTAMP('30-11月 -12 11.59.59.838000 下午','DD-Mon -RR HH.MI.SS.FF am TZH') THEN 11
WHEN fsrq between TO_TIMESTAMP('01-12月 -12 12.00.00.838000 上午','DD-Mon -RR HH.MI.SS.FF am TZH')
and TO_TIMESTAMP('31-12月 -12 11.59.59.838000 下午','DD-Mon -RR HH.MI.SS.FF am TZH') THEN 12
END num_month
from test_crmx t
) m
group by ck_code,bom_code,bom_name,unit
飞火流星02027 2012-08-21
  • 打赏
  • 举报
回复
CREATE TABLE "XXZWZX"."TEST_CRMX"   --出入明细表
( "CK_CODE" NUMBER NOT NULL ENABLE,
"BOM_CODE" NUMBER NOT NULL ENABLE,
"BOM_NAME" VARCHAR2(50),
"FSSL" NUMBER,
"UNIT" VARCHAR2(10),
"PRICE" NUMBER,
"JE" NUMBER,
"FSRQ" TIMESTAMP (6) DEFAULT SYSTIMESTAMP
NOT NULL ENABLE,
"ORDER_TYPE" CHAR(1) NOT NULL ENABLE,
CONSTRAINT "PK_T_CRMX_FSRQ" PRIMARY KEY ("CK_CODE", "FSRQ", "ORDER_TYPE", "BOM_CODE")
)
COMMENT ON COLUMN "XXZWZX"."TEST_CRMX"."CK_CODE" IS '仓库';

COMMENT ON COLUMN "XXZWZX"."TEST_CRMX"."BOM_CODE" IS '物料代码';

COMMENT ON COLUMN "XXZWZX"."TEST_CRMX"."BOM_NAME" IS '物料名称';

COMMENT ON COLUMN "XXZWZX"."TEST_CRMX"."FSSL" IS '数量';

COMMENT ON COLUMN "XXZWZX"."TEST_CRMX"."UNIT" IS '单位';

COMMENT ON COLUMN "XXZWZX"."TEST_CRMX"."PRICE" IS '单价';

COMMENT ON COLUMN "XXZWZX"."TEST_CRMX"."JE" IS '金额';

COMMENT ON COLUMN "XXZWZX"."TEST_CRMX"."FSRQ" IS '发生时间';

COMMENT ON COLUMN "XXZWZX"."TEST_CRMX"."ORDER_TYPE" IS '单据类型';

COMMENT ON TABLE "XXZWZX"."TEST_CRMX" IS '出入库明细表';


CREATE TABLE "XXZWZX"."TEST_KC" --实时库存表
( "CK_CODE" NUMBER NOT NULL ENABLE,
"BOM_CODE" NUMBER NOT NULL ENABLE,
"BOM_NAME" VARCHAR2(50),
"SL" NUMBER,
"UNIT" VARCHAR2(10),
CONSTRAINT "PK_TEST_KC_CK_BOM" PRIMARY KEY ("CK_CODE", "BOM_CODE")
)

COMMENT ON COLUMN "XXZWZX"."TEST_KC"."CK_CODE" IS '仓库';

COMMENT ON COLUMN "XXZWZX"."TEST_KC"."BOM_CODE" IS '物料代码';

COMMENT ON COLUMN "XXZWZX"."TEST_KC"."BOM_NAME" IS '物料名称';

COMMENT ON COLUMN "XXZWZX"."TEST_KC"."SL" IS '库存数量';

COMMENT ON COLUMN "XXZWZX"."TEST_KC"."UNIT" IS '单位';

COMMENT ON TABLE "XXZWZX"."TEST_KC" IS '仓库库存表';
飞火流星02027 2012-08-21
  • 打赏
  • 举报
回复
9楼说的
group by to_char(入库日期,'yyyy-mm')
如果是这样的话,肯定不行,不可能出来月份的列,简直就是胡扯·!
percy_620515 2012-08-20
  • 打赏
  • 举报
回复
库存帐龄分析表 中的数量根据先进先出的原则去做对应的核消,但如何做这种核消呢?
pengpeng409 2012-08-17
  • 打赏
  • 举报
回复
没有搞懂。。。
percy_620515 2012-08-14
  • 打赏
  • 举报
回复
入库数量与出库数量如何做到先进先出
iqlife 2012-08-12
  • 打赏
  • 举报
回复
大致如下
select sum(入库量)
from t
group by to_char(入库日期,'yyyy-mm')
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

给出测试数据+你想要的结果
[/Quote]

发帖最好付上 建表语句和测试数据以及结果 酱紫效率会高很多
BenChiM888 2012-08-12
  • 打赏
  • 举报
回复
给出测试数据+你想要的结果
percy_620515 2012-08-12
  • 打赏
  • 举报
回复
以上表格是库存帐龄分析表
percy_620515 2012-08-12
  • 打赏
  • 举报
回复
表T 及字段分别为: CK_CODE 仓库, BOM_CODE 物料代码,BOM_NAME 物料名称, fsSL 数量,UNIT 单位, PRICE 单价,JE 金额,FSRQ 发生时间 ,单据类型(R=入库;C=出库 )
仓库表A及字段分别为:CK_CODE 仓库, BOM_CODE 物料代码, BOM_NAME 物料名称,SL 库存数量,UNIT 单位
人生无悔 2012-08-12
  • 打赏
  • 举报
回复
1.少表,物料名称应取自物料表,未提供
2.计量单位没地方取,应也是在物料表中吧
3.1个月,2个月,3个月。。。你这统计的是什么?
从现在库存往前推,也不对呀,应该还有出库表才对呀
percy_620515 2012-08-12
  • 打赏
  • 举报
回复
percy_620515 2012-08-12
  • 打赏
  • 举报
回复
percy_620515 2012-08-12
  • 打赏
  • 举报
回复


如上

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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