当前位置:网站首页>查询sql

查询sql

2022-06-09 20:01:00 ps酷教程

<select id="selectDeviceDataRecordByDeviceId" resultType="com.anbao.ambientMonitor.data.dto.device.DeviceDataValueDTO">
    SELECT
        pps.name AS propertyName,
        ddr.property_value,
        pps.unit,pps.params,pps.data_type
    FROM
        product_properties pps
            LEFT JOIN device d ON d.product_id = pps.product_id
            LEFT JOIN (
	            SELECT
	                a.product_property_id,
	                MAX(a.id) id
	            FROM
	                device_data_record a
	            WHERE
	                a.device_code = #{deviceCode}
	            GROUP BY
	                a.product_property_id
	        ) temp ON pps.id = temp.product_property_id
            LEFT JOIN device_data_record ddr ON ddr.id = temp.id
    WHERE
        pps.function_type = 1
      AND pps.status = 1
      AND pps.is_del = 0
      AND d.device_code = #{deviceCode}
    ORDER BY
        pps.sort_value DESC
</select>

<select id="selectDataListByDeviceCodeAndRegionId" resultType="com.anbao.ambientMonitor.data.dto.region.DeviceDataRecordDTO">
        SELECT
            ddr.product_property_id,
            d.device_code,
            ddr.create_time,
            ddr.unit,
            ddr.property_value,
            pps.name AS propertyName,
            pps.data_type,
            pps.params,
            pps.identifier
        FROM
            device_data_record ddr
                RIGHT JOIN (
                SELECT
                    a.product_property_id,
                    MAX(a.id) id
                FROM
                    device_data_record a
                    RIGHT JOIN (    SELECT
                                        pps.id
                                    FROM
                                        device d
                                            LEFT JOIN product_properties pps ON pps.product_id = d.product_id
                                    WHERE
                                        d.region_id = #{regionId}
                                      AND d.is_del = 0 ) pp_temp on pp_temp.id = a.product_property_id
                WHERE
                    a.region_id = #{regionId}
                GROUP BY
                    a.product_property_id
            ) temp ON ddr.id = temp.id
                RIGHT JOIN product_properties pps ON pps.id = temp.product_property_id
                RIGHT JOIN device d ON pps.product_id = d.product_id
        WHERE
            d.region_id = #{regionId}
          AND d.is_del = 0
          AND pps.important_flag = 1
          AND pps.metering_properties_flag = 1
          AND pps.status = 1
          AND pps.is_del = 0
        ORDER BY pps.sort_value DESC
 </select>
 
 <select id="selectDataListByDeviceCode" resultType="com.anbao.ambientMonitor.data.dto.region.DeviceDataRecordDTO">
        SELECT
            ddr.product_property_id,
            d.device_code,
            ddr.create_time,
            pps.unit,
            ddr.property_value,
            pps.name AS propertyName,
            pps.data_type,
            pps.params,
            pps.identifier,
            pps.rw_flag,
            pps.identifier,
            mrp.name AS positionName,
            mr.region_name
        FROM
            device_data_record ddr
                RIGHT JOIN (
                SELECT
                    a.product_property_id,
                    MAX(a.id) id
                FROM
                    device_data_record a
                        RIGHT JOIN (    SELECT
                                            pps.id
                                        FROM
                                            device d
                                                LEFT JOIN product_properties pps ON pps.product_id = d.product_id
                                        WHERE
                                            d.device_code = #{deviceCode}
                                          AND d.is_del = 0 ) pp_temp on pp_temp.id = a.product_property_id
                WHERE
                    a.device_code = #{deviceCode}
                GROUP BY
                    a.product_property_id
            ) temp ON ddr.id = temp.id
                RIGHT JOIN product_properties pps ON pps.id = temp.product_property_id
                LEFT JOIN device d ON d.product_id = pps.product_id
                Left JOIN region_position_device_mapping rpdm ON rpdm.device_id = d.id
                Left JOIN merchant_region_position mrp ON mrp.id = rpdm.region_position_id
                LEFT JOIN merchant_region mr ON mr.id = d.region_id
        WHERE
          d.device_code = #{deviceCode}
          AND d.is_del = 0
          AND pps.important_flag = 1
          AND pps.metering_properties_flag = 1
          AND pps.status = 1
          AND pps.is_del = 0
        ORDER BY pps.sort_value DESC
</select>
原网站

版权声明
本文为[ps酷教程]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_16992475/article/details/125141291