SELECT * FROM (
SELECT * FROM (
SELECT * FROM (
SELECT * FROM warning_index_detail a LEFT JOIN(
SELECT id AS tid,operator1,operator2,value1,value2 FROM warning_threshold) b ON a.threshold_id=b.tid WHERE warning_state=1 AND index_type= #{indexType}
) c LEFT JOIN (SELECT id AS id1,index_operator AS index_operator1 FROM dim_index_operator) d ON c.operator1=d.id1) e
LEFT JOIN (SELECT id AS id2,index_operator AS index_operator2 FROM dim_index_operator) f ON e.operator2=f.id2) g LEFT JOIN (SELECT TIME_DIM_NAME,TIME_DIM_TYPE FROM dim_time_index) h ON TIME_DIM_TYPE= warning_time_dim
慢慢看,其实就是最基本的连表查询不断累加
select * from (
(SELECT * FROM dim_warning_index)dim right join
(SELECT * FROM kpi_index_total WHERE index_time BETWEEN DATE_SUB(#{calendar},INTERVAL 10 MINUTE) AND #{calendar}
AND time_dim_id = 1)total
ON dim.index_id=total.index_id
)
WHERE dim.index_type = 1
ORDER BY dim.index_order DESC
最基本的连表查询