У меня есть таблица (kt2020) с полями (task1, task2, .. pts, user, date). Одна и та же задача может отображаться в нескольких столбцах. Для подсчета по задачам у меня есть подзапрос:
SELECT
task,
count(*)
FROM (SELECT task1 AS task FROM kt2020 UNION ALL
SELECT task2 AS task FROM kt2020 UNION ALL
SELECT task3 AS task FROM kt2020 UNION ALL
SELECT task4 AS task FROM kt2020 UNION ALL
SELECT task5 AS task FROM kt2020 UNION ALL
SELECT task6 AS task FROM kt2020 UNION ALL
SELECT task7 AS task FROM kt2020
) t
group by task
Теперь мне нужно создать внешний запрос, который будет дополнительно фильтровать по пользователю и дате; smtg вот так:
WHERE STR_TO_DATE(date, '%Y-%m-%d') >= CURDATE() - INTERVAL 7 DAY and user = 'username'
Это даст мне результат задач за последние 7 дней от пользователя 'username'. Прямо сейчас эти внешние поля скрыты для текущего запроса, и я не знаю, как получить доступ к «дате» или «пользователю» в том же запросе.
Полагаю, я мог бы сделать что-то длинное и громоздкое , но я уверен, что есть способ, который использует общую функцию, о которой я не знаю?