存貨收發存應用例項

2021-06-16 04:07:14 字數 4172 閱讀 5626

-->測試資料: if

object_id

('[dbo].[products]')is

notnull

drop

table

productsgo

create

table

[dbo]

.[products]

([id]

intidentity

(1,1)

notnull,

[p_id]

intnot

null,

--產品編號

[p_tm]

datetime

null,

--時間

[p_flag]

intnull,

--1表示期初值,表示增加,表示減少

[p_num]

intnull,

--數目

[p_price]

money

null,

--單價

[p_money]

money

null,

--金額 )

goinsert

[products]

select

1,'2010-04-01'

,1,50,12.3,615 union

allselect

1,'2010-04-02'

,2,10,12.3,123 union

allselect

1,'2010-04-05'

,3,10,15.3,153 union

allselect

1,'2010-04-06'

,2,5,12.3,61.5 union

allselect

1,'2010-04-07'

,2,20,12.3,246 union

allselect

1,'2010-04-09'

,2,22,12.3,270.6 union

allselect

1,'2010-04-10'

,3,7,15.7,109.7 union

allselect

1,'2010-04-11'

,3,10,15.5,155go

-->sql查詢如下: ;

withtas

( selectid,

p_id

,p_tm,[

期初數量]=

case

p_flag

when 1 then

p_num

else 0 end,[

期初單價]=

case

p_flag

when 1 then

p_price

else 0 end,[

期初金額]=

case

p_flag

when 1 then

p_money

else 0 end,[

增加數量]=

case

p_flag

when 2 then

p_num

else 0 end,[

增加單價]=

case

p_flag

when 2 then

p_price

else 0 end,[

增加金額]=

case

p_flag

when 2 then

p_money

else 0 end,[

減少數量]=

case

p_flag

when 3 then

p_num

else 0 end,[

減少單價]=

case

p_flag

when 3 then

p_price

else 0 end,[

減少金額]=

case

p_flag

when 3 then

p_money

else 0 end

from

products)

selecta.

id,a.

p_id,a

.p_tm,[

期初數量]=

sum(b.

期初數量+b

.增加數量-b

.減少數量)-

a.增加數量+a

.減少數量 ,

[期初單價]=

(sum(b

.期初金額+b

.增加金額-b

.減少金額)-

a.增加金額+a

.減少金額)

/(sum(b

.期初數量+b

.增加數量-b

.減少數量)-

a.增加數量+a

.減少數量)

,[期初金額]=

sum(b.

期初金額+b

.增加金額-b

.減少金額)-

a.增加金額+a

.減少金額 ,

[增加數量]=

a.[增加數量]

,[增加單價]=

a.[增加單價]

,[增加金額]=

a.[增加金額]

,[減少數量]=

a.[減少數量]

,[減少單價]=

a.[減少單價]

,[減少金額]=

a.[減少金額]

,[期末數量]=

sum(b.

期初數量+b

.增加數量-b

.減少數量)

,[期末單價]=

sum(b.

期初金額+b

.增加金額-b

.減少金額)

/sum(b

.期初數量+b

.增加數量-b

.減少數量)

,[期末金額]=

sum(b.

期初金額+b

.增加金額-b

.減少金額)

fromta

jointb

ona.p_id=b

.p_id

anda

.p_tm

>=b.

p_tm

groupbya

.id,a

.p_id,a

.p_tm,a

.增加數量,a

.增加單價,a

.增加金額,

a.減少數量,a

.減少單價,a

.減少金額

orderbya

.p_tm

/*iid p_id p_tm 期初數量 期初單價 期初金額 增加數量 增加單價 增加金額 減少數量 減少單價 減少金額 期末數量 期末單價 期末金額

1 1 2010-04-01 00:00:00.000 50 12.30 615.00 0 0.00 0.00 0 0.00 0.00 50 12.30 615.00

2 1 2010-04-02 00:00:00.000 50 12.30 615.00 10 12.30 123.00 0 0.00 0.00 60 12.30 738.00

3 1 2010-04-05 00:00:00.000 60 12.30 738.00 0 0.00 0.00 10 15.30 153.00 50 11.70 585.00

4 1 2010-04-06 00:00:00.000 50 11.70 585.00 5 12.30 61.50 0 0.00 0.00 55 11.7545 646.50

5 1 2010-04-07 00:00:00.000 55 11.7545 646.50 20 12.30 246.00 0 0.00 0.00 75 11.90 892.50

6 1 2010-04-09 00:00:00.000 75 11.90 892.50 22 12.30 270.60 0 0.00 0.00 97 11.9907 1163.10

7 1 2010-04-10 00:00:00.000 97 11.9907 1163.10 0 0.00 0.00 7 15.70 109.70 90 11.7044 1053.40

8 1 2010-04-11 00:00:00.000 90 11.7044 1053.40 0 0.00 0.00 10 15.50 155.00 80 11.23 898.40(8 行受影響)*/

ERP 物流 賬表 倉庫收發存

select from hxerp.dbo.產成品期初 where 物品編號 not in select 物品編號 from hxerp ien.dbo.物流 資料 物品資訊表 select from hxerp.dbo.原材料期初 where 物品編號 not in select 物品編號 fro...

綜合例項 例項解析Verilog綜合出鎖存器的問題

時間一晃,夏和秋開始交替 有的人準備迎接碩果 而我,在夏天的尾巴焦頭爛額 望著窗外的天,享受吹來的風 仍不知心裡愁緒是真,還是假 逃離秋招季的焦慮 緩緩心情,也好好努力 這篇文章通過實際的design compiler綜合來精解verilog 生成latch的問題。下面哪種寫法會產生latch?為什...

應用例項 最新電工電路應用例項

電工學習網 www.diangon.com 最新電工電路應用例項 是根據最新國家職業標準,結合生產實際,以操作技能為主,以解決實際工作中的技術問題為目標而編寫的。本書的主要內容包括 照明 配電及單相電動機電路,電動機典型控制電路,電動機保護電路,工具機控制電路,穩壓電路及充電電路,電氣測量電路,pl...