天天看點

【資料庫】SQLServer報修表,維修表,回報表三表連查

作者:雷工筆記

大家好,我是雷工!

最近參與的一個SCADA項目,客戶要求增加裝置維保的功能,對裝置的報修,維修,回報過程進行記錄查詢,進一步提升企業的資訊化能力。

該過程的實作是通過建立三個表分别記錄報修-維修-回報的過程流轉資訊,由不同環節的的人員分别入錄相關資訊。查詢時通過選擇報修時間段,裝置名稱查詢對應時間段内該裝置的維保情況。

為了直覺檢視裝置報修所處的環節及維修情況,通過維修單号關聯查詢三個表格資訊并展示。

下面簡單記錄三表連查的方法及簡單的應用示例。

一、建立相關資料表

1、建立報修單記錄表(BXD)記錄報修單的資訊

【資料庫】SQLServer報修表,維修表,回報表三表連查

2、建立維修單記錄表(WXD)記錄維修單的資訊

【資料庫】SQLServer報修表,維修表,回報表三表連查

3、建立回報單記錄表(FKD)記錄對維修結果的回報資訊

【資料庫】SQLServer報修表,維修表,回報表三表連查

二、開發資訊入錄界面

1、報修入錄彈窗

【資料庫】SQLServer報修表,維修表,回報表三表連查

2、維修入錄界面

【資料庫】SQLServer報修表,維修表,回報表三表連查

3、回報處理界面

【資料庫】SQLServer報修表,維修表,回報表三表連查

三、資料查詢語句

資料的查詢涉及三表連查,此處采用的方法是左外連接配接(LEFT JOIN ON)。

此方法是以左表為主表,依次向右比對,比對到,傳回結果,比對不到,則傳回NULL值填充。

SQL語句如下:

SELECT

BXD.裝置名稱,BXD.班組長,BXD.單号,BXD.報修時間,BXD.報修人,BXD.維修班,BXD.問題描述,BXD.備注,BXD.維修序列,

WXD.值班員,WXD.班組長,WXD.報修人,WXD.接報時間,WXD.修複人,WXD.修複時間,WXD.驗收人,WXD.維修人,WXD.問題描述,WXD.故障分析,

FKD.班組長,FKD.回報時間,FKD.回報人,FKD.運作班,FKD.處理意見,FKD.備注

FROM [SCADASQL].[dbo].[BXD]

LEFT JOIN [SCADASQL].[dbo].[WXD] ON BXD.單号= WXD.單号

LEFT JOIN [SCADASQL].[dbo].[FKD] ON WXD.單号= FKD.單号

where BXD.裝置名稱 like '%清水泵%' AND BXD.報修時間 between '2023-05-18' AND '2023-05-18'

ORDER BY 單号           

四、查詢結果

1、SQLServer資料庫查詢結果

【資料庫】SQLServer報修表,維修表,回報表三表連查

2、SCADA内查詢結果

【資料庫】SQLServer報修表,維修表,回報表三表連查

結束語:

随着工業網際網路的發展,SCADA系統在傳統實時資料采集和監督控制的基礎上,不斷衍生出更多資訊化,智能化應用,不僅可以對生産環節資料實時監控和綜合排程,還可以較大地提升企業資訊化水準和生産管理水準,促進企業快速發展。

繼續閱讀