日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle中的查询语句(关于出库入库信息表,明细表,把捆包箱表,单位信息表的集中查询)...

發布時間:2025/5/22 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle中的查询语句(关于出库入库信息表,明细表,把捆包箱表,单位信息表的集中查询)... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

--查出所有現金中心的單位ID
with
AllUnit
as(
select t.ORGANIZATIONID orgid,t.parentid
from CDMS_ORGANIZATION t where T.CATEGORY = 4
start with t.organizationid = '05e85693-14b0-4582-8063-8fbde85371f0'
connect by t.parentid = PRIOR t.organizationid),

N_instock
as(
-- instock 完整money,殘損money,字段:入庫單位ID,mone1,money2
select inunitid,(baint+bunint+intaintNum+baoInt) intMoney,(baDMA+BUNDMA+baoDMA) DMAMoney
from(
select tba.INUNITID,
NVL((case ba.ISDAMAGE when 0 then 100*ba.valuta end),0) as BaInt,
NVL((case ba.ISDAMAGE when 1 then 100*ba.valuta end),0) as BaDmA,
NVL((case bun.ISDAMAGE when 0 then 1000*bun.valuta end),0) as BunINT,
NVL((case bun.ISDAMAGE when 1 then 1000*bun.valuta end),0) as BUNDMA,
NVL(inta.COUNTER*inta.VALUTA,0) intaintNUM,NVL(pack.INTACTNUM,0) baoint,
NVL(pack.DAMAGENUM,0) baodma from
(
select it.inunitid,de.barcode,de.UNIT from GZH_INSTOCK it
left join GZH_INSTOCK_DETAIL de on it.BILLID=de.BILLID
--where to_char(it.billdate,'yyyy-MM')='2016-11' and intype='1311'
)tba
left join GZH_BAINFO ba on tba.BARCODE=ba.BARCODE and tba.unit=1
left join GZH_BUNCHINFO bun on tba.BARCODE=bun.BUNCHCODE and tba.unit=2
left join GZH_PACHETINFO pack on tba.barcode=pack.RFIDNO and tba.unit=4
left join GZH_INTACTBOXINFO inta on tba.BARCODE=inta.BARCODE and tba.unit=3
)
)
,
allData
as(
select t.PARENTID,NVL(sum(t1.FLITTINGMONEY),0) outmoney,
NVL(sum(t2.INTMONEY),0) INTMONEY,
NVL(sum(t2.DMAMONEY),0) DMAMONEY from allunit t
left join GZH_outsTOCK t1 on t.orgid=t1.outUNITID
left join N_instock t2 on t.orgid=t2.inUNITID
--where to_char(t1.billdate,'yyyy-MM')='2016-11' and outtype='1321'
group by t.PARENTID
)
,
TFinfo
as
(
select parentid,
decode((select sum(outmoney) from allData),0,0,outmoney/(select sum(outmoney) from allData)) TFscale,
decode((select sum(intmoney) from allData),0,0,intmoney/(select sum(intmoney) from allData)) HLWscale,
decode((select sum(dmamoney) from alldata),0,0,dmamoney/(select sum(dmamoney) from alldata)) HLCscale
from alldata)

select fullname,TFscale 投放占比,HLWscale 回籠完整占比,HLCscale 回籠完整占比
from TFinfo left join cdms_organization
on cdms_organization.organizationid=tfinfo.parentid;

?

上面的這段sql是尹哥教我的,雖然不是自己寫的,但是按照這個思路,我發現我之前是對的,只是對oracle的認識不夠,寫不出來

今天最主要的是都讓我重新的認識了oracle的查詢,和我之前學的sql查詢的差距還是挺大的,各種各樣的結構的選擇和各種各樣的代碼的編寫

在計算比例的時候,我們先對數據進行求和,為了不能表中出現空的字符,我們選用了nvl(字段名,0),這是將空的字符串變為O 的語句。

今天我還用了一個很神奇的方法,decode(a,0,0,b/a*100)這個是為了不讓除數為0 的時候,使oracle報錯,這個讓我的語句更快的寫完。

我將這兩個用法記錄下來就是為了讓自己能更好的記住這兩個詞的用法。

?

今天加上一點,就是我在這個sql中的一個重要的用法case when then end 這個語句

在我們的這個sql中,我們使用這個語句進行了數據的分類統計,實現了我們直接在數據庫中的操作,對我們的數據進行了更好的統計。(2016-11-28)

轉載于:https://www.cnblogs.com/sun1512/p/6105118.html

總結

以上是生活随笔為你收集整理的oracle中的查询语句(关于出库入库信息表,明细表,把捆包箱表,单位信息表的集中查询)...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。