U8入库单后台查询处理 常用 SQL 语句(持续更新)
市場(chǎng)上常見(jiàn)的ERP軟件有用友、金蝶等…,此篇文章闡述用友U8和SQL SERVER后臺(tái)常用的的查詢
先來(lái)了解一下SQL SERVER 中用友U8中 “ 收 ”單據(jù)所對(duì)應(yīng)的表
“收”單據(jù)共性
- - U8中的“庫(kù)存管理”下的庫(kù)存單據(jù),’倉(cāng)庫(kù)’、’單據(jù)日期’、’收發(fā)類別’ (比較重要的三個(gè)),它是單據(jù)呈現(xiàn)或者表達(dá)整張單據(jù)重要信息的唯一標(biāo)識(shí)。
- - 這些唯一標(biāo)識(shí)所對(duì)應(yīng)的就是單據(jù)表體中多行的單據(jù)體信息,通俗的來(lái)講單據(jù)頭就是SQL中的主表,單據(jù)體就是SQL中的子表 ,把主表和子表
通過(guò)兩張表相同的字段“ID”相互關(guān)聯(lián)在一起就是U8軟件中前臺(tái)所呈現(xiàn)的整張完整的單據(jù)。
2.“收”單據(jù)特性
- - 單據(jù)的活靈活現(xiàn):所有的“收”單據(jù)可以試用不同企業(yè)的共性以及通過(guò)單據(jù)的“格式設(shè)置”制定相應(yīng)的表體/表頭自定義項(xiàng)從而來(lái)針對(duì)不同企業(yè)的特性,所以每一個(gè)“收”單據(jù)都有不同的特性。
1)采購(gòu)入庫(kù)單主表:最明顯的特性就是單據(jù)頭有客商條目
2)采購(gòu)入庫(kù)單子表:顯示存貨信息,及對(duì)應(yīng)的數(shù)量,在采購(gòu)入庫(kù)單和發(fā)票結(jié)算后顯示對(duì)應(yīng)的單價(jià)、金額、等…
①關(guān)聯(lián)SQL兩表語(yǔ)句
select * from RdRecord01 as rd left join RdRecords01 as rds ON rd.ID=rds.ID /*用兩表的ID進(jìn)行關(guān)聯(lián)*/ where rd.dDate /*單據(jù)日期*/ between '2016-01-01' and '2016-01-31' /*16年期間1月份單據(jù)所有信息*/②通過(guò)關(guān)聯(lián)“供應(yīng)商檔案”表,顯示客商編碼所對(duì)應(yīng)的客商名稱
ALTER TABLE RdRecord01 ADD cVenName NVARCHAR(100) /*在01表中添加一個(gè)名為‘cVenName’的字段*/ ———————————————————————————————————————————————————————————————————————————————— UPDATE RdRecord01 set cVenName =Ven.cVenName from Vendor AS Ven /*‘Vendor’(供應(yīng)商檔案表)*/ where RdRecord01.cVenCode =Ven.cVenCode /*將表‘Vendor’中的cVenName字段(供應(yīng)商名稱)根據(jù)RdRecord01表和Vendor表中相同的cVenCode返回對(duì)應(yīng)值/ - -邏輯與Excel表中 Lookup 函數(shù)相似,通俗的來(lái)講,通過(guò)RdRecord01表中字段cVenCode匹配Vendor表中的字段cVenCode,返回Vendor中cVenCode所對(duì)應(yīng)的 cVenName ———————————————————————————————————————————————————————————————————————————————— SELECT cVenName,cVenCode,* FROM RdRecord01 where dDate between '2016-01-01' and '2016-01-31'- 無(wú)論是關(guān)聯(lián)倉(cāng)庫(kù)檔案表(Warehouse)、還是收發(fā)類別表(Rd_Style)都可以按照此語(yǔ)句進(jìn)行關(guān)聯(lián),因?yàn)樵诔鋈霂?kù)數(shù)據(jù)表中所呈現(xiàn)的數(shù)據(jù)都是編碼的形式顯示,光眼睛看無(wú)法確定編碼所對(duì)應(yīng)的名稱,所以會(huì)用到關(guān)聯(lián)字段啦~,而且出入庫(kù)表中都會(huì)有相應(yīng)的關(guān)聯(lián)的字段,比如主表與子表關(guān)聯(lián)都會(huì)有相同的字段,‘ID’或者’PBVID‘等等…
③查詢所有采購(gòu)入庫(kù)單中根據(jù)供應(yīng)商匯總?cè)霂?kù)數(shù)量
SELECT rd.cVenCode,rd.cVenName,SUM(rds.iQuantity) AS 合計(jì)入庫(kù)量 from RdRecord01 rd LEFT JOIN rdrecords01 rds ON rd.ID=rds.ID GROUP BY rd.cVenCode,rd.cVenName /*匯總的依據(jù)有很多(詳細(xì)GROUP BY函數(shù)這里不再贅述)*/④刪除采購(gòu)入庫(kù)單 (大批量刪除數(shù)據(jù)動(dòng)作之前,有必要先做好備份)
delete from RdRecords01 rds where rds.ID in (select ID from RdRecord01 where dDate between '2016-01-01' and '2016-01-31') /*通過(guò)字段“ID”刪除主表所對(duì)應(yīng)子表記錄*/ ———————————————————————————————————————————————————————————————————————————————— delete from RdRecord01 where dDate between '2016-01-01' and '2016-01-31' /*刪除主表記錄*/ 小編在這里吃過(guò)不少虧,還提醒各位要先把要?jiǎng)h的記錄先查出來(lái)!先查出來(lái)!先查出來(lái)!在處理較大的數(shù)據(jù)量的時(shí)候小編都會(huì)先做備份,然后刪完相應(yīng)的記錄把刪除語(yǔ)句清除掉,誰(shuí)知道一不小心就按錯(cuò)了呢,到時(shí)候哭都來(lái)不及o(╥﹏╥)o,尤其是不帶where條件的,到時(shí)候就哭天喊地的補(bǔ)數(shù)據(jù)了,當(dāng)然如果對(duì)自己的語(yǔ)句有絕對(duì)的信心(忽略此條) ————————————————————————————————————————————————————————————————————————————————— delete from rdrecords01 where ID not in (select ID from RdRecord01) /*刪除的順序是先刪子表再刪主表,如果先把主表記錄刪除,子表記錄會(huì)有冗余,通過(guò)這個(gè)語(yǔ)句進(jìn)行清除*/ ————————————————————————————————————————————————————————————————————————————————— 拓展1:對(duì)于后期批量的數(shù)據(jù)處理,不一定刪除的是整張單據(jù),可能會(huì)存在刪除個(gè)別單據(jù)某一行,或者根據(jù)關(guān)聯(lián)的采購(gòu)訂單或者采購(gòu)發(fā)票去刪除對(duì)應(yīng)的采購(gòu)入庫(kù)單, 這個(gè)小編在后期講到關(guān)聯(lián)單據(jù)數(shù)據(jù)處理以及發(fā)票,訂單的時(shí)候會(huì)講到。 —————————————————————————————————————————————————————————————————————————————————3)產(chǎn)成品入庫(kù)單主表:針對(duì)于本單位的生產(chǎn)入庫(kù)信息,
4)產(chǎn)成品入庫(kù)單子表:顯示存貨數(shù)量,并在每個(gè)月存貨核算成本分配以后會(huì)回寫(xiě)存貨的單價(jià)和金額
5)其它入庫(kù)單主表:U8中其它出入庫(kù)單可以是拉式生成,也可能是通過(guò)審核‘調(diào)撥單’自動(dòng)生成
6)其它入庫(kù)單子表:顯示存貨數(shù)量,單價(jià)金額通過(guò)存貨核算期末處理其它出庫(kù)單所對(duì)應(yīng)的倉(cāng)庫(kù),回寫(xiě)到其它入庫(kù)單中(因?yàn)檎{(diào)撥單,先有出再有入)
查詢的語(yǔ)句參照上述’采購(gòu)入庫(kù)’所對(duì)應(yīng)的語(yǔ)句
拓展2:小編相信如果您用U8產(chǎn)品,在這些單據(jù)的基礎(chǔ)上少不了,現(xiàn)存量,收發(fā)存匯總表,出入庫(kù)流水賬,出庫(kù)匯總,入庫(kù)匯總,銷售統(tǒng)計(jì)表等等一系列報(bào)表,這些報(bào)表各位可以根據(jù)單據(jù)試著用SQL語(yǔ)句在后臺(tái)呈現(xiàn)出來(lái),具體在后期展示
下期更新 ‘出’單據(jù) 以及采購(gòu)/銷售發(fā)票所關(guān)聯(lián)單據(jù)的數(shù)據(jù)處理
郵箱地址:nierlingg@163.com ;本文到此結(jié)束,后期還持續(xù)更新,喜歡溝通交流,文章寫(xiě)的不得體的地方還請(qǐng)海涵,如有不足,還請(qǐng)指出
總結(jié)
以上是生活随笔為你收集整理的U8入库单后台查询处理 常用 SQL 语句(持续更新)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 在win32下编译openssl
- 下一篇: 西部数码linux pdo_mysql,