兩個B1相關的SQL,訂單查詢
客戶的要求:按銷售訂單統計這張單是否賺了。
怎麼做哪?做報表吧
[@more@]關於B1的兩個功能(一)按BOM清單展開適用環境:
人工的去展開BOM
CREATE function f_pcode1(@code varchar(20))
returns @re1 table(code varchar(20),father varchar(20),uom varchar(5),quantity float,level1 int)
as
begin
declare @l int
declare @father varchar(20)
declare @uom varchar(5)
declare @quantity float
set @l=0
insert @re1 select @code,@father,@uom,@quantity,@l
while @@rowcount>0
begin
set @l=@l+1
insert @re1(code,father,uom,quantity,level1) select a.code,a.father,a.uom,a.quantity,@l
from itt1 a,@re1 b
where a.father=b.code collate database_default
and b.level1=@l-1
end
return
end
用這個SQL我實現了這樣一種功能:按銷售訂單查詢成品的標準BOM清單,並計算需求。
輸入成品的料號
輸出父料號、子料號、單位、用量、BOM級別
關於B1的兩個功能(二)按銷售訂單展開生產訂單的用料清單
簡單的說:就是輸出一個銷售訂單銷售物料的生產訂單用料清單
CREATE function f_wo(@code_a varchar(20),@code_b varchar(20))
returns @re1 table(DocEntry int,code varchar(20),father varchar(20),uom varchar(5), PlannedQty float,IssuedQty float,level1 int)
as
begin
declare @l int
DECLARE @DocEntry INT
declare @father varchar(20)
declare @code varchar(20)
declare @IssuedQty float
declare @PlannedQty float
declare @re2 TABLE (DocEntry int,code varchar(20),father varchar(20), PlannedQty float,IssuedQty float,OriginNum int)
insert @re2(DocEntry,code,father,PlannedQty,IssuedQty,OriginNum) SELECT DiSTinct T1.DocEntry,T1.ItemCode, T0.ItemCode,T1.PlannedQty, T1.IssuedQty ,T0.OriginNum from OWOR T0 INNER JOIN WOR1 T1 ON T0.DocEntry = T1.DocEntry where t0.OriginNum = @code_a
set @l=0
insert @re1(code,father,PlannedQty,IssuedQty,level1) select @code_b,@father,@PlannedQty,@IssuedQty,@l
while @@rowcount>0
begin
set @l=@l+1
insert @re1(DocEntry,code,father,IssuedQty,PlannedQty,level1) select DiSTinct a.DocEntry,a.code,a.father,a.IssuedQty,a.PlannedQty,@l
from @re2 a,@re1 b
where a.father=b.code collate database_default
and b.level1=@l-1
end
return
end
--------------
這個就是按單生產的SQL。
輸入專案:銷售訂單號、銷售訂單銷售的成品料號。
輸出:
生產訂單號
料號
父料號
發出數量
計劃數量
BOM級別
由以上的兩個功能可以開發出:按銷售訂單生產、計劃的功能。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/854/viewspace-894016/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- sql-server相關子查詢SQLServer
- 兩表關聯查詢:sql、mybatisSQLMyBatis
- 什麼是SQL 語句中相關子查詢與非相關子查詢SQL
- SQL 兩個表組合查詢SQL
- MySQL 相關子查詢MySql
- CURL查詢ES相關
- 查詢訂單付款超時的資料
- 查詢皮膚中如何實現兩個 select 下拉框的關聯查詢?
- MySQL 之慢查詢相關操作MySql
- ATM-簡單SQL查詢SQL
- 採購訂單查詢BAPI封裝API封裝
- 快遞鳥查詢訂單例項單例
- 查詢當天的系統訂單記錄
- SQL查詢的:子查詢和多表查詢SQL
- Linux 查詢 日誌 相關命令Linux
- 幾個SQL查詢小技巧SQL
- sql-server不相關子查詢SQLServer
- Spring Data Jpa 的簡單查詢多表查詢HQL,SQL ,動態查詢, QueryDsl ,自定義查詢筆記SpringSQL筆記
- SQL 查詢 exist join in 的用法和相應的適用場景 (最佳化查詢)SQL
- union的兩個子查詢是否並行並行
- SQL單表查詢語句總結SQL
- SQL Server-簡單查詢語句SQLServer
- Linq兩個from查詢條件
- 巢狀關聯會查詢兩次巢狀
- sql相關SQL
- MySQL全面瓦解9:查詢的排序、分頁相關MySql排序
- MySQL慢查詢日誌相關設定MySql
- PostgreSQL並行查詢相關配置引數SQL並行
- 記一個實用的sql查詢語句SQL
- SQL面試題 三(單表、多表查詢)SQL面試題
- EBS:訂單事務型別查詢之流程分配型別
- 如何一鍵查詢淘寶訂單物流資訊
- 原生SQL查詢SQL
- SQL--查詢SQL
- SQL 聚合查詢SQL
- 對比SQL中簡單巢狀查詢與非巢狀查詢CFSQL巢狀
- SQL優化之多表關聯查詢-案例一SQL優化
- T-SQL——關於跨庫連線查詢SQL
- SQL的基礎查詢案例SQL