|
|
@@ -120,20 +120,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
|
</delete>
|
|
|
<!-- 推荐项目-->
|
|
|
<select id="getMassageProjectRecommend" resultType="com.ylx.massage.domain.vo.MassageProjectRecommendVo">
|
|
|
+ WITH distinct_project AS (
|
|
|
+ SELECT
|
|
|
+ project_id,
|
|
|
+ MIN(project_name) AS project_name, -- 去重,取任意一个名称
|
|
|
+ MIN(project_duration) AS project_duration -- 去重,取任意一个工期
|
|
|
+ FROM ma_project
|
|
|
+ WHERE is_delete = 0
|
|
|
+ AND audit_status = 1
|
|
|
+ GROUP BY project_id
|
|
|
+ )
|
|
|
SELECT
|
|
|
- p.project_name AS projectName,
|
|
|
- p.project_duration AS projectDuration,
|
|
|
- t.avg_current_price AS avgCurrentPrice,
|
|
|
- j.highlight AS highlight,
|
|
|
- o.sales AS sales
|
|
|
- FROM (
|
|
|
- SELECT MIN(id) AS id
|
|
|
- FROM ma_project
|
|
|
- WHERE is_delete = 0 AND audit_status = 1
|
|
|
- GROUP BY project_id
|
|
|
- ) AS keep
|
|
|
- INNER JOIN ma_project p ON keep.id = p.id
|
|
|
- LEFT JOIN project j ON p.project_id = j.id
|
|
|
+ d.project_id AS projectId,
|
|
|
+ d.project_name AS projectName,
|
|
|
+ d.project_duration AS projectDuration,
|
|
|
+ o.sales AS sales,
|
|
|
+ t.avg_current_price AS avgCurrentPrice,
|
|
|
+ j.highlight AS highlight
|
|
|
+ FROM distinct_project d
|
|
|
+ LEFT JOIN project j ON d.project_id = j.id
|
|
|
LEFT JOIN (
|
|
|
SELECT
|
|
|
t.project_id,
|
|
|
@@ -141,21 +146,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
|
FROM ma_project t
|
|
|
WHERE t.is_delete = 0
|
|
|
GROUP BY t.project_id
|
|
|
- ) t ON p.project_id = t.project_id
|
|
|
- LEFT JOIN
|
|
|
- (
|
|
|
- SELECT
|
|
|
- o.project_id AS project_id,
|
|
|
- COUNT(*) AS sales
|
|
|
- FROM
|
|
|
- t_order o
|
|
|
- WHERE o.is_delete = 0
|
|
|
- AND o.n_status = 7
|
|
|
- AND o.project_type = 1
|
|
|
- GROUP BY o.project_id
|
|
|
- ) o
|
|
|
- ON p.project_id = o.project_id
|
|
|
- WHERE p.is_delete = 0
|
|
|
- and p.audit_status = 1
|
|
|
+ ) t ON d.project_id = t.project_id
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ o.project_id,
|
|
|
+ COUNT(*) AS sales
|
|
|
+ FROM t_order o
|
|
|
+ WHERE o.is_delete = 0
|
|
|
+ AND o.status = 6
|
|
|
+ AND o.project_type = 1
|
|
|
+ GROUP BY o.project_id
|
|
|
+ ) o ON d.project_id = o.project_id;
|
|
|
</select>
|
|
|
</mapper>
|