一個較複雜的三個表聯合查詢的例子
主要是格式比較複雜,實際沒啥技術含量
自己記錄一下
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子句,將每行數據構造爲只有一個字段的表,以後求最大值