|
@@ -7,12 +7,12 @@
|
|
|
SELECT
|
|
|
1 AS offset_day,
|
|
|
CURDATE() AS date_val,
|
|
|
- DAYOFWEEK(CURDATE()) - 1 AS dow
|
|
|
+ WEEKDAY(CURDATE()) + 1 AS dow
|
|
|
UNION ALL
|
|
|
SELECT
|
|
|
offset_day + 1,
|
|
|
date_val + INTERVAL 1 DAY,
|
|
|
- DAYOFWEEK(date_val + INTERVAL 0 DAY)
|
|
|
+ WEEKDAY(date_val + INTERVAL 1 DAY) + 1
|
|
|
FROM dates
|
|
|
WHERE offset_day < 7
|
|
|
),
|
|
@@ -23,14 +23,15 @@
|
|
|
r.end_time,
|
|
|
r.selling_price,
|
|
|
r.day_of_week,
|
|
|
- ROW_NUMBER() OVER (PARTITION BY r.day_of_week ORDER BY r.selling_price ASC, r.start_time ASC) AS rn
|
|
|
- FROM
|
|
|
- nm_site_price_rules r
|
|
|
+ ROW_NUMBER() OVER (
|
|
|
+ PARTITION BY r.day_of_week
|
|
|
+ ORDER BY r.selling_price ASC, r.start_time ASC
|
|
|
+ ) AS rn
|
|
|
+ FROM nm_site_price_rules r
|
|
|
LEFT JOIN nm_site_place sp ON r.site_place_id = sp.id
|
|
|
- WHERE
|
|
|
- r.view_status = 0
|
|
|
+ WHERE r.view_status = 0
|
|
|
AND r.org_code = #{orgCode}
|
|
|
- AND (#{categoryId} IS NULL OR r.category_id = #{categoryId})
|
|
|
+ AND r.category_id = #{categoryId}
|
|
|
)
|
|
|
SELECT
|
|
|
es.id AS id,
|
|
@@ -49,11 +50,8 @@
|
|
|
')'
|
|
|
)
|
|
|
END AS date_label
|
|
|
- FROM
|
|
|
- earliest_slots es
|
|
|
- JOIN (SELECT offset_day, date_val, dow FROM dates) AS dm
|
|
|
- ON es.day_of_week = dm.dow
|
|
|
- WHERE es.rn = 1
|
|
|
+ FROM earliest_slots es
|
|
|
+ JOIN dates dm ON es.day_of_week = dm.dow AND es.rn = 1
|
|
|
ORDER BY dm.offset_day
|
|
|
]]>
|
|
|
</select>
|