我遇到子查询问题。此查询显示我需要执行我需要的查询的函数
SELECT *,
open_hour_from - ((open_hour_day - 1) * 24 * 60) AS timeFrom,
open_hour_to - ((open_hour_day - 1) * 24 * 60) AS timeTo,
GROUP_CONCAT(open_hour_day) AS days
FROM `open_hours` WHERE open_hour_connect_id = 2
GROUP BY timeFrom, timeTo
ORDER BY days
这是两个功能
open_hour_from - ((open_hour_day - 1) * 24 * 60) AS timeFrom,
open_hour_to - ((open_hour_day - 1) * 24 * 60) AS timeTo,
我知道子查询可能只返回一个值。但是我如何使用timeFrom和timeTo变量?我应该把它放在HAVING中吗?我该怎么做?
SELECT *,
( SELECT GROUP_CONCAT(open_hour_day)
FROM ` WHERE open_hour_connect_id = 2
GROUP BY timeFrom, timeTo ORDER BY days )
FROM connections
答案 0 :(得分:0)
我猜你真的想要像
这样的东西SELECT c.*, sub.*
FROM
connections c
INNER JOIN
(
SELECT *,
open_hour_from - ((open_hour_day - 1) * 24 * 60) AS timeFrom,
open_hour_to - ((open_hour_day - 1) * 24 * 60) AS timeTo,
GROUP_CONCAT(open_hour_day) AS days
FROM `open_hours` WHERE open_hour_connect_id = 2
GROUP BY timeFrom, timeTo
ORDER BY days) sub
ON c.days = sub.days