Выбор подзапроса MYSQL - PullRequest
       5

Выбор подзапроса MYSQL

0 голосов
/ 13 сентября 2011

У меня проблемы с подзапросом.Этот запрос отображает функцию, которая мне нужна для выполнения запроса, который мне нужен

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

1 Ответ

0 голосов
/ 13 сентября 2011

Полагаю, вы действительно хотите что-то вроде

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...