一個較複雜的三個表聯合查詢,以及取多個列最大值的例子

一個較複雜的三個表聯合查詢的例子

主要是格式比較複雜,實際沒啥技術含量

自己記錄一下

select DetailInf.PV0,TestBoardInf.BoardSerial from tb_board_detail_test_info as DetailInf
inner join tb_board_test_info as TestBoardInf on DetailInf.BoardTestID = TestBoardInf.BoardTestID
inner join tb_test_info as TestInf on TestBoardInf.TestID = TestInf.TestID
where DetailInf.TestType=2 and TestInf.TestBatch= 'legetest_20211213112052'

tb_board_detail_test_info裏面是具體的測試信息,外鍵BoardTestID關聯表tb_board_test_info,tb_board_test_info裏面的外鍵TestID關聯第三個表tb_test_info,我們需要tb_test_info的TestBatch做篩選

最後查詢的內容除了tb_board_detail_test_info裏面的數據信息,還要查詢對應的TestBatch等信息

 

如果最後只是要查表tb_board_detail_test_info裏面的數據信息,只需要子查詢就行了

這個邏輯我要記錄一下

 

除此之外,tb_board_detail_test_info裏有PV0、PV10……到PV100的10個列

我需要取這十個列的最大值

select  ( SELECT    MAX(MaxPV)
          FROM      ( VALUES ( DetailInf.PV0), ( DetailInf.PV10),
                    ( DetailInf.PV100) ) AS UpdateDate ( MaxPV) 
          ) AS MaxPV,TestBoardInf.BoardSerial from tb_board_detail_test_info as DetailInf
 inner join tb_board_test_info as TestBoardInf on DetailInf.BoardTestID = TestBoardInf.BoardTestID
   inner join tb_test_info as TestInf on TestBoardInf.TestID = TestInf.TestID
 where DetailInf.TestType=2 and TestInf.TestBatch= 'legetest_20211213112052'  

使用values子句,將每行數據構造爲只有一個字段的表,以後求最大值

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章