[英]MySQL SELECT, JOIN TABLES AND GROUP/COUNT COMMA SEPARATED VALUES
我有以下两个表:
**Table: appointments**
--------------------------
id | user_id | date
--------------------------
1 | 18 | 23/02/2018
2 | 24 | 24/02/2018
3 | 18 | 24/02/2018
--------------------------
**Table: appointments_services**
--------------------------------
id | appointment_id | service_id
--------------------------------
1 | 1 | 23,26
2 | 2 | 12,23
3 | 3 | 23,45,12
--------------------------------
我想要以下报告:
1)根据输入的日期段,将服务分组并显示总计/计数2)在同一日期段上,显示user_id
提供了多少总计/计数的服务
如果以上两个报告需要使用不同的SQL,则我不介意。
到目前为止,这是我所做的:
SELECT * FROM appointments_services s
JOIN appointments a ON s.appointment_id = a.id
WHERE STR_TO_DATE(a.date, '%d/%m/%Y') BETWEEN STR_TO_DATE('01/03/2018', '%d/%m/%Y') AND STR_TO_DATE('05/03/2018', '%d/%m/%Y')
我现在被卡住了,因为service_id
是逗号分隔的值,而且我不知道如何拆分它们并对其进行分组/计数。
规范化的环境可能如下所示:
**Table: appointments_services**
appointment_id | service_id
---------------+----------------
1 | 23
1 | 26
2 | 12
2 | 23
3 | 23
3 | 45
3 | 12
从这里开始,问题变得微不足道了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.