refactor(sql):优化状态定义查询逻辑
- 简化current表和history表的关联方式,使用CROSS JOIN替代复杂的LEFT JOIN - 移除冗余的字段非空判断条件,提高查询效率 - 调整查询排序逻辑,确保历史数据正确加载-保留完整的CASE表达式以支持多字段映射需求 - 维持原有LIMIT限制,控制返回记录数量 - 更新注释内容,使其更准确反映当前实现逻辑
This commit is contained in:
@@ -68,431 +68,75 @@
|
||||
<result column="historyInsdate" property="historyInsdate" jdbcType="TIMESTAMP"/>
|
||||
</resultMap>
|
||||
<select id="selectByValue" resultMap="ValueVoResultMap">
|
||||
SELECT d.ID,
|
||||
d.NAME,
|
||||
d.UNITS,
|
||||
d.COMMENTS,
|
||||
d.MODELTYPE,
|
||||
-- current表对应VALUE{ID}
|
||||
CASE d.ID
|
||||
WHEN 1 THEN c.VALUE1
|
||||
WHEN 2 THEN c.VALUE2
|
||||
WHEN 3 THEN c.VALUE3
|
||||
WHEN 4 THEN c.VALUE4
|
||||
WHEN 5 THEN c.VALUE5
|
||||
WHEN 6 THEN c.VALUE6
|
||||
WHEN 7 THEN c.VALUE7
|
||||
WHEN 8 THEN c.VALUE8
|
||||
WHEN 9 THEN c.VALUE9
|
||||
WHEN 10 THEN c.VALUE10
|
||||
WHEN 11 THEN c.VALUE11
|
||||
WHEN 12 THEN c.VALUE12
|
||||
WHEN 13 THEN c.VALUE13
|
||||
WHEN 14 THEN c.VALUE14
|
||||
WHEN 15 THEN c.VALUE15
|
||||
WHEN 16 THEN c.VALUE16
|
||||
WHEN 17 THEN c.VALUE17
|
||||
WHEN 18 THEN c.VALUE18
|
||||
WHEN 19 THEN c.VALUE19
|
||||
WHEN 20 THEN c.VALUE20
|
||||
WHEN 21 THEN c.VALUE21
|
||||
WHEN 22 THEN c.VALUE22
|
||||
WHEN 23 THEN c.VALUE23
|
||||
WHEN 24 THEN c.VALUE24
|
||||
WHEN 25 THEN c.VALUE25
|
||||
WHEN 26 THEN c.VALUE26
|
||||
WHEN 27 THEN c.VALUE27
|
||||
WHEN 28 THEN c.VALUE28
|
||||
WHEN 29 THEN c.VALUE29
|
||||
WHEN 30 THEN c.VALUE30
|
||||
WHEN 31 THEN c.VALUE31
|
||||
WHEN 32 THEN c.VALUE32
|
||||
WHEN 33 THEN c.VALUE33
|
||||
WHEN 34 THEN c.VALUE34
|
||||
WHEN 35 THEN c.VALUE35
|
||||
WHEN 36 THEN c.VALUE36
|
||||
WHEN 37 THEN c.VALUE37
|
||||
WHEN 38 THEN c.VALUE38
|
||||
WHEN 39 THEN c.VALUE39
|
||||
WHEN 40 THEN c.VALUE40
|
||||
WHEN 41 THEN c.VALUE41
|
||||
WHEN 42 THEN c.VALUE42
|
||||
WHEN 43 THEN c.VALUE43
|
||||
WHEN 44 THEN c.VALUE44
|
||||
WHEN 45 THEN c.VALUE45
|
||||
WHEN 46 THEN c.VALUE46
|
||||
WHEN 47 THEN c.VALUE47
|
||||
WHEN 48 THEN c.VALUE48
|
||||
WHEN 49 THEN c.VALUE49
|
||||
WHEN 50 THEN c.VALUE50
|
||||
WHEN 51 THEN c.VALUE51
|
||||
WHEN 52 THEN c.VALUE52
|
||||
WHEN 53 THEN c.VALUE53
|
||||
WHEN 54 THEN c.VALUE54
|
||||
WHEN 55 THEN c.VALUE55
|
||||
WHEN 56 THEN c.VALUE56
|
||||
WHEN 57 THEN c.VALUE57
|
||||
WHEN 58 THEN c.VALUE58
|
||||
WHEN 59 THEN c.VALUE59
|
||||
WHEN 60 THEN c.VALUE60
|
||||
WHEN 61 THEN c.VALUE61
|
||||
WHEN 62 THEN c.VALUE62
|
||||
WHEN 63 THEN c.VALUE63
|
||||
WHEN 64 THEN c.VALUE64
|
||||
WHEN 65 THEN c.VALUE65
|
||||
WHEN 66 THEN c.VALUE66
|
||||
WHEN 67 THEN c.VALUE67
|
||||
WHEN 68 THEN c.VALUE68
|
||||
WHEN 69 THEN c.VALUE69
|
||||
WHEN 70 THEN c.VALUE70
|
||||
WHEN 71 THEN c.VALUE71
|
||||
WHEN 72 THEN c.VALUE72
|
||||
WHEN 73 THEN c.VALUE73
|
||||
WHEN 74 THEN c.VALUE74
|
||||
WHEN 75 THEN c.VALUE75
|
||||
WHEN 76 THEN c.VALUE76
|
||||
WHEN 77 THEN c.VALUE77
|
||||
WHEN 78 THEN c.VALUE78
|
||||
WHEN 79 THEN c.VALUE79
|
||||
WHEN 80 THEN c.VALUE80
|
||||
WHEN 81 THEN c.VALUE81
|
||||
WHEN 82 THEN c.VALUE82
|
||||
WHEN 83 THEN c.VALUE83
|
||||
WHEN 84 THEN c.VALUE84
|
||||
WHEN 85 THEN c.VALUE85
|
||||
WHEN 86 THEN c.VALUE86
|
||||
WHEN 87 THEN c.VALUE87
|
||||
WHEN 88 THEN c.VALUE88
|
||||
WHEN 89 THEN c.VALUE89
|
||||
WHEN 90 THEN c.VALUE90
|
||||
WHEN 91 THEN c.VALUE91
|
||||
WHEN 92 THEN c.VALUE92
|
||||
WHEN 93 THEN c.VALUE93
|
||||
WHEN 94 THEN c.VALUE94
|
||||
WHEN 95 THEN c.VALUE95
|
||||
WHEN 96 THEN c.VALUE96
|
||||
WHEN 97 THEN c.VALUE97
|
||||
WHEN 98 THEN c.VALUE98
|
||||
WHEN 99 THEN c.VALUE99
|
||||
ELSE NULL
|
||||
END AS currentValue,
|
||||
c.INSDATE AS currentInsdate,
|
||||
-- history表对应VALUE{ID}
|
||||
CASE d.ID
|
||||
WHEN 1 THEN h.VALUE1
|
||||
WHEN 2 THEN h.VALUE2
|
||||
WHEN 3 THEN h.VALUE3
|
||||
WHEN 4 THEN h.VALUE4
|
||||
WHEN 5 THEN h.VALUE5
|
||||
WHEN 6 THEN h.VALUE6
|
||||
WHEN 7 THEN h.VALUE7
|
||||
WHEN 8 THEN h.VALUE8
|
||||
WHEN 9 THEN h.VALUE9
|
||||
WHEN 10 THEN h.VALUE10
|
||||
WHEN 11 THEN h.VALUE11
|
||||
WHEN 12 THEN h.VALUE12
|
||||
WHEN 13 THEN h.VALUE13
|
||||
WHEN 14 THEN h.VALUE14
|
||||
WHEN 15 THEN h.VALUE15
|
||||
WHEN 16 THEN h.VALUE16
|
||||
WHEN 17 THEN h.VALUE17
|
||||
WHEN 18 THEN h.VALUE18
|
||||
WHEN 19 THEN h.VALUE19
|
||||
WHEN 20 THEN h.VALUE20
|
||||
WHEN 21 THEN h.VALUE21
|
||||
WHEN 22 THEN h.VALUE22
|
||||
WHEN 23 THEN h.VALUE23
|
||||
WHEN 24 THEN h.VALUE24
|
||||
WHEN 25 THEN h.VALUE25
|
||||
WHEN 26 THEN h.VALUE26
|
||||
WHEN 27 THEN h.VALUE27
|
||||
WHEN 28 THEN h.VALUE28
|
||||
WHEN 29 THEN h.VALUE29
|
||||
WHEN 30 THEN h.VALUE30
|
||||
WHEN 31 THEN h.VALUE31
|
||||
WHEN 32 THEN h.VALUE32
|
||||
WHEN 33 THEN h.VALUE33
|
||||
WHEN 34 THEN h.VALUE34
|
||||
WHEN 35 THEN h.VALUE35
|
||||
WHEN 36 THEN h.VALUE36
|
||||
WHEN 37 THEN h.VALUE37
|
||||
WHEN 38 THEN h.VALUE38
|
||||
WHEN 39 THEN h.VALUE39
|
||||
WHEN 40 THEN h.VALUE40
|
||||
WHEN 41 THEN h.VALUE41
|
||||
WHEN 42 THEN h.VALUE42
|
||||
WHEN 43 THEN h.VALUE43
|
||||
WHEN 44 THEN h.VALUE44
|
||||
WHEN 45 THEN h.VALUE45
|
||||
WHEN 46 THEN h.VALUE46
|
||||
WHEN 47 THEN h.VALUE47
|
||||
WHEN 48 THEN h.VALUE48
|
||||
WHEN 49 THEN h.VALUE49
|
||||
WHEN 50 THEN h.VALUE50
|
||||
WHEN 51 THEN h.VALUE51
|
||||
WHEN 52 THEN h.VALUE52
|
||||
WHEN 53 THEN h.VALUE53
|
||||
WHEN 54 THEN h.VALUE54
|
||||
WHEN 55 THEN h.VALUE55
|
||||
WHEN 56 THEN h.VALUE56
|
||||
WHEN 57 THEN h.VALUE57
|
||||
WHEN 58 THEN h.VALUE58
|
||||
WHEN 59 THEN h.VALUE59
|
||||
WHEN 60 THEN h.VALUE60
|
||||
WHEN 61 THEN h.VALUE61
|
||||
WHEN 62 THEN h.VALUE62
|
||||
WHEN 63 THEN h.VALUE63
|
||||
WHEN 64 THEN h.VALUE64
|
||||
WHEN 65 THEN h.VALUE65
|
||||
WHEN 66 THEN h.VALUE66
|
||||
WHEN 67 THEN h.VALUE67
|
||||
WHEN 68 THEN h.VALUE68
|
||||
WHEN 69 THEN h.VALUE69
|
||||
WHEN 70 THEN h.VALUE70
|
||||
WHEN 71 THEN h.VALUE71
|
||||
WHEN 72 THEN h.VALUE72
|
||||
WHEN 73 THEN h.VALUE73
|
||||
WHEN 74 THEN h.VALUE74
|
||||
WHEN 75 THEN h.VALUE75
|
||||
WHEN 76 THEN h.VALUE76
|
||||
WHEN 77 THEN h.VALUE77
|
||||
WHEN 78 THEN h.VALUE78
|
||||
WHEN 79 THEN h.VALUE79
|
||||
WHEN 80 THEN h.VALUE80
|
||||
WHEN 81 THEN h.VALUE81
|
||||
WHEN 82 THEN h.VALUE82
|
||||
WHEN 83 THEN h.VALUE83
|
||||
WHEN 84 THEN h.VALUE84
|
||||
WHEN 85 THEN h.VALUE85
|
||||
WHEN 86 THEN h.VALUE86
|
||||
WHEN 87 THEN h.VALUE87
|
||||
WHEN 88 THEN h.VALUE88
|
||||
WHEN 89 THEN h.VALUE89
|
||||
WHEN 90 THEN h.VALUE90
|
||||
WHEN 91 THEN h.VALUE91
|
||||
WHEN 92 THEN h.VALUE92
|
||||
WHEN 93 THEN h.VALUE93
|
||||
WHEN 94 THEN h.VALUE94
|
||||
WHEN 95 THEN h.VALUE95
|
||||
WHEN 96 THEN h.VALUE96
|
||||
WHEN 97 THEN h.VALUE97
|
||||
WHEN 98 THEN h.VALUE98
|
||||
WHEN 99 THEN h.VALUE99
|
||||
ELSE NULL
|
||||
END AS historyValue,
|
||||
h.INSDATE AS historyInsdate
|
||||
SELECT
|
||||
d.ID,
|
||||
d.NAME,
|
||||
d.UNITS,
|
||||
d.COMMENTS,
|
||||
d.INSDATE,
|
||||
d.MODELTYPE,
|
||||
-- current表的最新值:根据define的ID取对应的VALUE字段
|
||||
CASE d.ID
|
||||
WHEN 1 THEN c.VALUE1 WHEN 2 THEN c.VALUE2 WHEN 3 THEN c.VALUE3 WHEN 4 THEN c.VALUE4 WHEN 5 THEN c.VALUE5
|
||||
WHEN 6 THEN c.VALUE6 WHEN 7 THEN c.VALUE7 WHEN 8 THEN c.VALUE8 WHEN 9 THEN c.VALUE9 WHEN 10 THEN c.VALUE10
|
||||
WHEN 11 THEN c.VALUE11 WHEN 12 THEN c.VALUE12 WHEN 13 THEN c.VALUE13 WHEN 14 THEN c.VALUE14 WHEN 15 THEN c.VALUE15
|
||||
WHEN 16 THEN c.VALUE16 WHEN 17 THEN c.VALUE17 WHEN 18 THEN c.VALUE18 WHEN 19 THEN c.VALUE19 WHEN 20 THEN c.VALUE20
|
||||
WHEN 21 THEN c.VALUE21 WHEN 22 THEN c.VALUE22 WHEN 23 THEN c.VALUE23 WHEN 24 THEN c.VALUE24 WHEN 25 THEN c.VALUE25
|
||||
WHEN 26 THEN c.VALUE26 WHEN 27 THEN c.VALUE27 WHEN 28 THEN c.VALUE28 WHEN 29 THEN c.VALUE29 WHEN 30 THEN c.VALUE30
|
||||
WHEN 31 THEN c.VALUE31 WHEN 32 THEN c.VALUE32 WHEN 33 THEN c.VALUE33 WHEN 34 THEN c.VALUE34 WHEN 35 THEN c.VALUE35
|
||||
WHEN 36 THEN c.VALUE36 WHEN 37 THEN c.VALUE37 WHEN 38 THEN c.VALUE38 WHEN 39 THEN c.VALUE39 WHEN 40 THEN c.VALUE40
|
||||
WHEN 41 THEN c.VALUE41 WHEN 42 THEN c.VALUE42 WHEN 43 THEN c.VALUE43 WHEN 44 THEN c.VALUE44 WHEN 45 THEN c.VALUE45
|
||||
WHEN 46 THEN c.VALUE46 WHEN 47 THEN c.VALUE47 WHEN 48 THEN c.VALUE48 WHEN 49 THEN c.VALUE49 WHEN 50 THEN c.VALUE50
|
||||
WHEN 51 THEN c.VALUE51 WHEN 52 THEN c.VALUE52 WHEN 53 THEN c.VALUE53 WHEN 54 THEN c.VALUE54 WHEN 55 THEN c.VALUE55
|
||||
WHEN 56 THEN c.VALUE56 WHEN 57 THEN c.VALUE57 WHEN 58 THEN c.VALUE58 WHEN 59 THEN c.VALUE59 WHEN 60 THEN c.VALUE60
|
||||
WHEN 61 THEN c.VALUE61 WHEN 62 THEN c.VALUE62 WHEN 63 THEN c.VALUE63 WHEN 64 THEN c.VALUE64 WHEN 65 THEN c.VALUE65
|
||||
WHEN 66 THEN c.VALUE66 WHEN 67 THEN c.VALUE67 WHEN 68 THEN c.VALUE68 WHEN 69 THEN c.VALUE69 WHEN 70 THEN c.VALUE70
|
||||
WHEN 71 THEN c.VALUE71 WHEN 72 THEN c.VALUE72 WHEN 73 THEN c.VALUE73 WHEN 74 THEN c.VALUE74 WHEN 75 THEN c.VALUE75
|
||||
WHEN 76 THEN c.VALUE76 WHEN 77 THEN c.VALUE77 WHEN 78 THEN c.VALUE78 WHEN 79 THEN c.VALUE79 WHEN 80 THEN c.VALUE80
|
||||
WHEN 81 THEN c.VALUE81 WHEN 82 THEN c.VALUE82 WHEN 83 THEN c.VALUE83 WHEN 84 THEN c.VALUE84 WHEN 85 THEN c.VALUE85
|
||||
WHEN 86 THEN c.VALUE86 WHEN 87 THEN c.VALUE87 WHEN 88 THEN c.VALUE88 WHEN 89 THEN c.VALUE89 WHEN 90 THEN c.VALUE90
|
||||
WHEN 91 THEN c.VALUE91 WHEN 92 THEN c.VALUE92 WHEN 93 THEN c.VALUE93 WHEN 94 THEN c.VALUE94 WHEN 95 THEN c.VALUE95
|
||||
WHEN 96 THEN c.VALUE96 WHEN 97 THEN c.VALUE97 WHEN 98 THEN c.VALUE98 WHEN 99 THEN c.VALUE99
|
||||
ELSE NULL END AS currentValue,
|
||||
c.INSDATE AS currentInsdate,
|
||||
-- history表的历史值:根据define的ID取对应的VALUE字段
|
||||
CASE d.ID
|
||||
WHEN 1 THEN h.VALUE1 WHEN 2 THEN h.VALUE2 WHEN 3 THEN h.VALUE3 WHEN 4 THEN h.VALUE4 WHEN 5 THEN h.VALUE5
|
||||
WHEN 6 THEN h.VALUE6 WHEN 7 THEN h.VALUE7 WHEN 8 THEN h.VALUE8 WHEN 9 THEN h.VALUE9 WHEN 10 THEN h.VALUE10
|
||||
WHEN 11 THEN h.VALUE11 WHEN 12 THEN h.VALUE12 WHEN 13 THEN h.VALUE13 WHEN 14 THEN h.VALUE14 WHEN 15 THEN h.VALUE15
|
||||
WHEN 16 THEN h.VALUE16 WHEN 17 THEN h.VALUE17 WHEN 18 THEN h.VALUE18 WHEN 19 THEN h.VALUE19 WHEN 20 THEN h.VALUE20
|
||||
WHEN 21 THEN h.VALUE21 WHEN 22 THEN h.VALUE22 WHEN 23 THEN h.VALUE23 WHEN 24 THEN h.VALUE24 WHEN 25 THEN h.VALUE25
|
||||
WHEN 26 THEN h.VALUE26 WHEN 27 THEN h.VALUE27 WHEN 28 THEN h.VALUE28 WHEN 29 THEN h.VALUE29 WHEN 30 THEN h.VALUE30
|
||||
WHEN 31 THEN h.VALUE31 WHEN 32 THEN h.VALUE32 WHEN 33 THEN h.VALUE33 WHEN 34 THEN h.VALUE34 WHEN 35 THEN h.VALUE35
|
||||
WHEN 36 THEN h.VALUE36 WHEN 37 THEN h.VALUE37 WHEN 38 THEN h.VALUE38 WHEN 39 THEN h.VALUE39 WHEN 40 THEN h.VALUE40
|
||||
WHEN 41 THEN h.VALUE41 WHEN 42 THEN h.VALUE42 WHEN 43 THEN h.VALUE43 WHEN 44 THEN h.VALUE44 WHEN 45 THEN h.VALUE45
|
||||
WHEN 46 THEN h.VALUE46 WHEN 47 THEN h.VALUE47 WHEN 48 THEN h.VALUE48 WHEN 49 THEN h.VALUE49 WHEN 50 THEN h.VALUE50
|
||||
WHEN 51 THEN h.VALUE51 WHEN 52 THEN h.VALUE52 WHEN 53 THEN h.VALUE53 WHEN 54 THEN h.VALUE54 WHEN 55 THEN h.VALUE55
|
||||
WHEN 56 THEN h.VALUE56 WHEN 57 THEN h.VALUE57 WHEN 58 THEN h.VALUE58 WHEN 59 THEN h.VALUE59 WHEN 60 THEN h.VALUE60
|
||||
WHEN 61 THEN h.VALUE61 WHEN 62 THEN h.VALUE62 WHEN 63 THEN h.VALUE63 WHEN 64 THEN h.VALUE64 WHEN 65 THEN h.VALUE65
|
||||
WHEN 66 THEN h.VALUE66 WHEN 67 THEN h.VALUE67 WHEN 68 THEN h.VALUE68 WHEN 69 THEN h.VALUE69 WHEN 70 THEN h.VALUE70
|
||||
WHEN 71 THEN h.VALUE71 WHEN 72 THEN h.VALUE72 WHEN 73 THEN h.VALUE73 WHEN 74 THEN h.VALUE74 WHEN 75 THEN h.VALUE75
|
||||
WHEN 76 THEN h.VALUE76 WHEN 77 THEN h.VALUE77 WHEN 78 THEN h.VALUE78 WHEN 79 THEN h.VALUE79 WHEN 80 THEN h.VALUE80
|
||||
WHEN 81 THEN h.VALUE81 WHEN 82 THEN h.VALUE82 WHEN 83 THEN h.VALUE83 WHEN 84 THEN h.VALUE84 WHEN 85 THEN h.VALUE85
|
||||
WHEN 86 THEN h.VALUE86 WHEN 87 THEN h.VALUE87 WHEN 88 THEN h.VALUE88 WHEN 89 THEN h.VALUE89 WHEN 90 THEN h.VALUE90
|
||||
WHEN 91 THEN h.VALUE91 WHEN 92 THEN h.VALUE92 WHEN 93 THEN h.VALUE93 WHEN 94 THEN h.VALUE94 WHEN 95 THEN h.VALUE95
|
||||
WHEN 96 THEN h.VALUE96 WHEN 97 THEN h.VALUE97 WHEN 98 THEN h.VALUE98 WHEN 99 THEN h.VALUE99
|
||||
ELSE NULL END AS historyValue,
|
||||
h.INSDATE AS historyInsdate
|
||||
FROM klptcm1_pro_plant_state_define d
|
||||
-- 关联current表:只匹配ID对应的VALUE字段,且该字段非空
|
||||
LEFT JOIN klptcm1_pro_plant_state_current c
|
||||
ON d.MODELTYPE = c.TYPE
|
||||
AND (
|
||||
(d.ID = 1 AND c.VALUE1 IS NOT NULL) OR
|
||||
(d.ID = 2 AND c.VALUE2 IS NOT NULL) OR
|
||||
(d.ID = 3 AND c.VALUE3 IS NOT NULL) OR
|
||||
(d.ID = 4 AND c.VALUE4 IS NOT NULL) OR
|
||||
(d.ID = 5 AND c.VALUE5 IS NOT NULL) OR
|
||||
(d.ID = 6 AND c.VALUE6 IS NOT NULL) OR
|
||||
(d.ID = 7 AND c.VALUE7 IS NOT NULL) OR
|
||||
(d.ID = 8 AND c.VALUE8 IS NOT NULL) OR
|
||||
(d.ID = 9 AND c.VALUE9 IS NOT NULL) OR
|
||||
(d.ID = 10 AND c.VALUE10 IS NOT NULL) OR
|
||||
(d.ID = 11 AND c.VALUE11 IS NOT NULL) OR
|
||||
(d.ID = 12 AND c.VALUE12 IS NOT NULL) OR
|
||||
(d.ID = 13 AND c.VALUE13 IS NOT NULL) OR
|
||||
(d.ID = 14 AND c.VALUE14 IS NOT NULL) OR
|
||||
(d.ID = 15 AND c.VALUE15 IS NOT NULL) OR
|
||||
(d.ID = 16 AND c.VALUE16 IS NOT NULL) OR
|
||||
(d.ID = 17 AND c.VALUE17 IS NOT NULL) OR
|
||||
(d.ID = 18 AND c.VALUE18 IS NOT NULL) OR
|
||||
(d.ID = 19 AND c.VALUE19 IS NOT NULL) OR
|
||||
(d.ID = 20 AND c.VALUE20 IS NOT NULL) OR
|
||||
(d.ID = 21 AND c.VALUE21 IS NOT NULL) OR
|
||||
(d.ID = 22 AND c.VALUE22 IS NOT NULL) OR
|
||||
(d.ID = 23 AND c.VALUE23 IS NOT NULL) OR
|
||||
(d.ID = 24 AND c.VALUE24 IS NOT NULL) OR
|
||||
(d.ID = 25 AND c.VALUE25 IS NOT NULL) OR
|
||||
(d.ID = 26 AND c.VALUE26 IS NOT NULL) OR
|
||||
(d.ID = 27 AND c.VALUE27 IS NOT NULL) OR
|
||||
(d.ID = 28 AND c.VALUE28 IS NOT NULL) OR
|
||||
(d.ID = 29 AND c.VALUE29 IS NOT NULL) OR
|
||||
(d.ID = 30 AND c.VALUE30 IS NOT NULL) OR
|
||||
(d.ID = 31 AND c.VALUE31 IS NOT NULL) OR
|
||||
(d.ID = 32 AND c.VALUE32 IS NOT NULL) OR
|
||||
(d.ID = 33 AND c.VALUE33 IS NOT NULL) OR
|
||||
(d.ID = 34 AND c.VALUE34 IS NOT NULL) OR
|
||||
(d.ID = 35 AND c.VALUE35 IS NOT NULL) OR
|
||||
(d.ID = 36 AND c.VALUE36 IS NOT NULL) OR
|
||||
(d.ID = 37 AND c.VALUE37 IS NOT NULL) OR
|
||||
(d.ID = 38 AND c.VALUE38 IS NOT NULL) OR
|
||||
(d.ID = 39 AND c.VALUE39 IS NOT NULL) OR
|
||||
(d.ID = 40 AND c.VALUE40 IS NOT NULL) OR
|
||||
(d.ID = 41 AND c.VALUE41 IS NOT NULL) OR
|
||||
(d.ID = 42 AND c.VALUE42 IS NOT NULL) OR
|
||||
(d.ID = 43 AND c.VALUE43 IS NOT NULL) OR
|
||||
(d.ID = 44 AND c.VALUE44 IS NOT NULL) OR
|
||||
(d.ID = 45 AND c.VALUE45 IS NOT NULL) OR
|
||||
(d.ID = 46 AND c.VALUE46 IS NOT NULL) OR
|
||||
(d.ID = 47 AND c.VALUE47 IS NOT NULL) OR
|
||||
(d.ID = 48 AND c.VALUE48 IS NOT NULL) OR
|
||||
(d.ID = 49 AND c.VALUE49 IS NOT NULL) OR
|
||||
(d.ID = 50 AND c.VALUE50 IS NOT NULL) OR
|
||||
(d.ID = 51 AND c.VALUE51 IS NOT NULL) OR
|
||||
(d.ID = 52 AND c.VALUE52 IS NOT NULL) OR
|
||||
(d.ID = 53 AND c.VALUE53 IS NOT NULL) OR
|
||||
(d.ID = 54 AND c.VALUE54 IS NOT NULL) OR
|
||||
(d.ID = 55 AND c.VALUE55 IS NOT NULL) OR
|
||||
(d.ID = 56 AND c.VALUE56 IS NOT NULL) OR
|
||||
(d.ID = 57 AND c.VALUE57 IS NOT NULL) OR
|
||||
(d.ID = 58 AND c.VALUE58 IS NOT NULL) OR
|
||||
(d.ID = 59 AND c.VALUE59 IS NOT NULL) OR
|
||||
(d.ID = 60 AND c.VALUE60 IS NOT NULL) OR
|
||||
(d.ID = 61 AND c.VALUE61 IS NOT NULL) OR
|
||||
(d.ID = 62 AND c.VALUE62 IS NOT NULL) OR
|
||||
(d.ID = 63 AND c.VALUE63 IS NOT NULL) OR
|
||||
(d.ID = 64 AND c.VALUE64 IS NOT NULL) OR
|
||||
(d.ID = 65 AND c.VALUE65 IS NOT NULL) OR
|
||||
(d.ID = 66 AND c.VALUE66 IS NOT NULL) OR
|
||||
(d.ID = 67 AND c.VALUE67 IS NOT NULL) OR
|
||||
(d.ID = 68 AND c.VALUE68 IS NOT NULL) OR
|
||||
(d.ID = 69 AND c.VALUE69 IS NOT NULL) OR
|
||||
(d.ID = 70 AND c.VALUE70 IS NOT NULL) OR
|
||||
(d.ID = 71 AND c.VALUE71 IS NOT NULL) OR
|
||||
(d.ID = 72 AND c.VALUE72 IS NOT NULL) OR
|
||||
(d.ID = 73 AND c.VALUE73 IS NOT NULL) OR
|
||||
(d.ID = 74 AND c.VALUE74 IS NOT NULL) OR
|
||||
(d.ID = 75 AND c.VALUE75 IS NOT NULL) OR
|
||||
(d.ID = 76 AND c.VALUE76 IS NOT NULL) OR
|
||||
(d.ID = 77 AND c.VALUE77 IS NOT NULL) OR
|
||||
(d.ID = 78 AND c.VALUE78 IS NOT NULL) OR
|
||||
(d.ID = 79 AND c.VALUE79 IS NOT NULL) OR
|
||||
(d.ID = 80 AND c.VALUE80 IS NOT NULL) OR
|
||||
(d.ID = 81 AND c.VALUE81 IS NOT NULL) OR
|
||||
(d.ID = 82 AND c.VALUE82 IS NOT NULL) OR
|
||||
(d.ID = 83 AND c.VALUE83 IS NOT NULL) OR
|
||||
(d.ID = 84 AND c.VALUE84 IS NOT NULL) OR
|
||||
(d.ID = 85 AND c.VALUE85 IS NOT NULL) OR
|
||||
(d.ID = 86 AND c.VALUE86 IS NOT NULL) OR
|
||||
(d.ID = 87 AND c.VALUE87 IS NOT NULL) OR
|
||||
(d.ID = 88 AND c.VALUE88 IS NOT NULL) OR
|
||||
(d.ID = 89 AND c.VALUE89 IS NOT NULL) OR
|
||||
(d.ID = 90 AND c.VALUE90 IS NOT NULL) OR
|
||||
(d.ID = 91 AND c.VALUE91 IS NOT NULL) OR
|
||||
(d.ID = 92 AND c.VALUE92 IS NOT NULL) OR
|
||||
(d.ID = 93 AND c.VALUE93 IS NOT NULL) OR
|
||||
(d.ID = 94 AND c.VALUE94 IS NOT NULL) OR
|
||||
(d.ID = 95 AND c.VALUE95 IS NOT NULL) OR
|
||||
(d.ID = 96 AND c.VALUE96 IS NOT NULL) OR
|
||||
(d.ID = 97 AND c.VALUE97 IS NOT NULL) OR
|
||||
(d.ID = 98 AND c.VALUE98 IS NOT NULL) OR
|
||||
(d.ID = 99 AND c.VALUE99 IS NOT NULL)
|
||||
)
|
||||
-- 关联history表:逻辑同current表
|
||||
LEFT JOIN klptcm1_pro_plant_state_history h
|
||||
ON d.MODELTYPE = h.TYPE
|
||||
AND (
|
||||
(d.ID = 1 AND h.VALUE1 IS NOT NULL) OR
|
||||
(d.ID = 2 AND h.VALUE2 IS NOT NULL) OR
|
||||
(d.ID = 3 AND h.VALUE3 IS NOT NULL) OR
|
||||
(d.ID = 4 AND h.VALUE4 IS NOT NULL) OR
|
||||
(d.ID = 5 AND h.VALUE5 IS NOT NULL) OR
|
||||
(d.ID = 6 AND h.VALUE6 IS NOT NULL) OR
|
||||
(d.ID = 7 AND h.VALUE7 IS NOT NULL) OR
|
||||
(d.ID = 8 AND h.VALUE8 IS NOT NULL) OR
|
||||
(d.ID = 9 AND h.VALUE9 IS NOT NULL) OR
|
||||
(d.ID = 10 AND h.VALUE10 IS NOT NULL) OR
|
||||
(d.ID = 11 AND h.VALUE11 IS NOT NULL) OR
|
||||
(d.ID = 12 AND h.VALUE12 IS NOT NULL) OR
|
||||
(d.ID = 13 AND h.VALUE13 IS NOT NULL) OR
|
||||
(d.ID = 14 AND h.VALUE14 IS NOT NULL) OR
|
||||
(d.ID = 15 AND h.VALUE15 IS NOT NULL) OR
|
||||
(d.ID = 16 AND h.VALUE16 IS NOT NULL) OR
|
||||
(d.ID = 17 AND h.VALUE17 IS NOT NULL) OR
|
||||
(d.ID = 18 AND h.VALUE18 IS NOT NULL) OR
|
||||
(d.ID = 19 AND h.VALUE19 IS NOT NULL) OR
|
||||
(d.ID = 20 AND h.VALUE20 IS NOT NULL) OR
|
||||
(d.ID = 21 AND h.VALUE21 IS NOT NULL) OR
|
||||
(d.ID = 22 AND h.VALUE22 IS NOT NULL) OR
|
||||
(d.ID = 23 AND h.VALUE23 IS NOT NULL) OR
|
||||
(d.ID = 24 AND h.VALUE24 IS NOT NULL) OR
|
||||
(d.ID = 25 AND h.VALUE25 IS NOT NULL) OR
|
||||
(d.ID = 26 AND h.VALUE26 IS NOT NULL) OR
|
||||
(d.ID = 27 AND h.VALUE27 IS NOT NULL) OR
|
||||
(d.ID = 28 AND h.VALUE28 IS NOT NULL) OR
|
||||
(d.ID = 29 AND h.VALUE29 IS NOT NULL) OR
|
||||
(d.ID = 30 AND h.VALUE30 IS NOT NULL) OR
|
||||
(d.ID = 31 AND h.VALUE31 IS NOT NULL) OR
|
||||
(d.ID = 32 AND h.VALUE32 IS NOT NULL) OR
|
||||
(d.ID = 33 AND h.VALUE33 IS NOT NULL) OR
|
||||
(d.ID = 34 AND h.VALUE34 IS NOT NULL) OR
|
||||
(d.ID = 35 AND h.VALUE35 IS NOT NULL) OR
|
||||
(d.ID = 36 AND h.VALUE36 IS NOT NULL) OR
|
||||
(d.ID = 37 AND h.VALUE37 IS NOT NULL) OR
|
||||
(d.ID = 38 AND h.VALUE38 IS NOT NULL) OR
|
||||
(d.ID = 39 AND h.VALUE39 IS NOT NULL) OR
|
||||
(d.ID = 40 AND h.VALUE40 IS NOT NULL) OR
|
||||
(d.ID = 41 AND h.VALUE41 IS NOT NULL) OR
|
||||
(d.ID = 42 AND h.VALUE42 IS NOT NULL) OR
|
||||
(d.ID = 43 AND h.VALUE43 IS NOT NULL) OR
|
||||
(d.ID = 44 AND h.VALUE44 IS NOT NULL) OR
|
||||
(d.ID = 45 AND h.VALUE45 IS NOT NULL) OR
|
||||
(d.ID = 46 AND h.VALUE46 IS NOT NULL) OR
|
||||
(d.ID = 47 AND h.VALUE47 IS NOT NULL) OR
|
||||
(d.ID = 48 AND h.VALUE48 IS NOT NULL) OR
|
||||
(d.ID = 49 AND h.VALUE49 IS NOT NULL) OR
|
||||
(d.ID = 50 AND h.VALUE50 IS NOT NULL) OR
|
||||
(d.ID = 51 AND h.VALUE51 IS NOT NULL) OR
|
||||
(d.ID = 52 AND h.VALUE52 IS NOT NULL) OR
|
||||
(d.ID = 53 AND h.VALUE53 IS NOT NULL) OR
|
||||
(d.ID = 54 AND h.VALUE54 IS NOT NULL) OR
|
||||
(d.ID = 55 AND h.VALUE55 IS NOT NULL) OR
|
||||
(d.ID = 56 AND h.VALUE56 IS NOT NULL) OR
|
||||
(d.ID = 57 AND h.VALUE57 IS NOT NULL) OR
|
||||
(d.ID = 58 AND h.VALUE58 IS NOT NULL) OR
|
||||
(d.ID = 59 AND h.VALUE59 IS NOT NULL) OR
|
||||
(d.ID = 60 AND h.VALUE60 IS NOT NULL) OR
|
||||
(d.ID = 61 AND h.VALUE61 IS NOT NULL) OR
|
||||
(d.ID = 62 AND h.VALUE62 IS NOT NULL) OR
|
||||
(d.ID = 63 AND h.VALUE63 IS NOT NULL) OR
|
||||
(d.ID = 64 AND h.VALUE64 IS NOT NULL) OR
|
||||
(d.ID = 65 AND h.VALUE65 IS NOT NULL) OR
|
||||
(d.ID = 66 AND h.VALUE66 IS NOT NULL) OR
|
||||
(d.ID = 67 AND h.VALUE67 IS NOT NULL) OR
|
||||
(d.ID = 68 AND h.VALUE68 IS NOT NULL) OR
|
||||
(d.ID = 69 AND h.VALUE69 IS NOT NULL) OR
|
||||
(d.ID = 70 AND h.VALUE70 IS NOT NULL) OR
|
||||
(d.ID = 71 AND h.VALUE71 IS NOT NULL) OR
|
||||
(d.ID = 72 AND h.VALUE72 IS NOT NULL) OR
|
||||
(d.ID = 73 AND h.VALUE73 IS NOT NULL) OR
|
||||
(d.ID = 74 AND h.VALUE74 IS NOT NULL) OR
|
||||
(d.ID = 75 AND h.VALUE75 IS NOT NULL) OR
|
||||
(d.ID = 76 AND h.VALUE76 IS NOT NULL) OR
|
||||
(d.ID = 77 AND h.VALUE77 IS NOT NULL) OR
|
||||
(d.ID = 78 AND h.VALUE78 IS NOT NULL) OR
|
||||
(d.ID = 79 AND h.VALUE79 IS NOT NULL) OR
|
||||
(d.ID = 80 AND h.VALUE80 IS NOT NULL) OR
|
||||
(d.ID = 81 AND h.VALUE81 IS NOT NULL) OR
|
||||
(d.ID = 82 AND h.VALUE82 IS NOT NULL) OR
|
||||
(d.ID = 83 AND h.VALUE83 IS NOT NULL) OR
|
||||
(d.ID = 84 AND h.VALUE84 IS NOT NULL) OR
|
||||
(d.ID = 85 AND h.VALUE85 IS NOT NULL) OR
|
||||
(d.ID = 86 AND h.VALUE86 IS NOT NULL) OR
|
||||
(d.ID = 87 AND h.VALUE87 IS NOT NULL) OR
|
||||
(d.ID = 88 AND h.VALUE88 IS NOT NULL) OR
|
||||
(d.ID = 89 AND h.VALUE89 IS NOT NULL) OR
|
||||
(d.ID = 90 AND h.VALUE90 IS NOT NULL) OR
|
||||
(d.ID = 91 AND h.VALUE91 IS NOT NULL) OR
|
||||
(d.ID = 92 AND h.VALUE92 IS NOT NULL) OR
|
||||
(d.ID = 93 AND h.VALUE93 IS NOT NULL) OR
|
||||
(d.ID = 94 AND h.VALUE94 IS NOT NULL) OR
|
||||
(d.ID = 95 AND h.VALUE95 IS NOT NULL) OR
|
||||
(d.ID = 96 AND h.VALUE96 IS NOT NULL) OR
|
||||
(d.ID = 97 AND h.VALUE97 IS NOT NULL) OR
|
||||
(d.ID = 98 AND h.VALUE98 IS NOT NULL) OR
|
||||
(d.ID = 99 AND h.VALUE99 IS NOT NULL)
|
||||
)
|
||||
CROSS JOIN (
|
||||
SELECT * FROM klptcm1_pro_plant_state_current
|
||||
ORDER BY INSDATE DESC
|
||||
LIMIT 1
|
||||
) c
|
||||
CROSS JOIN (
|
||||
SELECT * FROM klptcm1_pro_plant_state_history
|
||||
ORDER BY INSDATE DESC
|
||||
LIMIT 200
|
||||
) h
|
||||
WHERE d.NAME = #{name}
|
||||
-- 按插入时间倒叙,取最新200条
|
||||
ORDER BY COALESCE(c.INSDATE, h.INSDATE) DESC LIMIT 200
|
||||
ORDER BY h.INSDATE DESC
|
||||
LIMIT 200
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user