peixue-dev/Archive/peidu-temp-files/sql/🔍诊断订单状态-日历预约不一致-2026-01-24.sql

91 lines
2.4 KiB
MySQL
Raw Normal View History

2026-02-28 17:26:03 +08:00
-- 🔍 诊断订单状态 - 日历与预约数据不一致
-- 日期: 2026-01-24
-- 目标: 找出为什么日历显示6个预约显示62个
-- ============================================
-- SQL 1: 检查用户ID=1的所有订单状态分布
-- ============================================
SELECT
status,
CASE status
WHEN 0 THEN '待支付'
WHEN 1 THEN '待服务'
WHEN 2 THEN '进行中'
WHEN 3 THEN '已完成'
WHEN 4 THEN '已取消'
ELSE CONCAT('其他(', status, ')')
END AS status_text,
COUNT(*) AS count
FROM `order`
WHERE user_id = 1
AND deleted = 0
GROUP BY status
ORDER BY status;
-- ============================================
-- SQL 2: 检查"我的预约"页面查询的订单status=1
-- ============================================
SELECT
COUNT(*) AS total_count
FROM `order`
WHERE user_id = 1
AND status = 1
AND deleted = 0;
-- ============================================
-- SQL 3: 检查日历页面查询的订单status IN 1,2,3,4
-- ============================================
SELECT
COUNT(*) AS total_count
FROM `order`
WHERE user_id = 1
AND status IN (1, 2, 3, 4)
AND deleted = 0;
-- ============================================
-- SQL 4: 查看62个订单的详细状态
-- ============================================
SELECT
id,
order_no,
status,
CASE status
WHEN 0 THEN '待支付'
WHEN 1 THEN '待服务'
WHEN 2 THEN '进行中'
WHEN 3 THEN '已完成'
WHEN 4 THEN '已取消'
ELSE CONCAT('其他(', status, ')')
END AS status_text,
service_date,
time_slot,
service_name,
create_time
FROM `order`
WHERE user_id = 1
AND deleted = 0
ORDER BY status, create_time DESC
LIMIT 100;
-- ============================================
-- 执行说明
-- ============================================
/*
Navicat中依次执行上面的SQL
1. SQL 1:
- status=162"我的预约"
- status=1260
2. SQL 2: "我的预约"
- 62
3. SQL 3:
- 6
4. SQL 4:
- 62
SQL 1
*/