Задать вопрос
mrusklon
@mrusklon
Не получается? Яростно гугли!

Почему sql запрос возвращает «нечего»?

есть таблица в которой отмечают даты командировок, все хорошо, но вот именно за февраль, возвращает пустоту
Если в дату добавить диапазон который и январь затрагивает, то выборка идет как положено включая все даты февраля

код запроса
SELECT user_dolg.user_id, users.users_id, users.name,user_dolg.date, user_dolg.dogovor_name, COUNT(*) AS cnt
FROM users
INNER JOIN user_dolg ON user_dolg.user_id = users.users_id
WHERE `date` BETWEEN '2019-02-01' AND '2019-02-28' AND komandi='командировка'
GROUP BY users.name;


кто подскажет куда копать?
  • Вопрос задан
  • 58 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Вы делаете группировку по users.name
Для правильной работы запроса необходимо, чтобы все остальные поля были в агрегатных функциях.
Фактически, запрос сейчас выглядит так:
SELECT ANY_VALUE(user_dolg.user_id), ANY_VALUE(users.users_id), users.name,
       ANY_VALUE(user_dolg.date), ANY_VALUE(user_dolg.dogovor_name), COUNT(*) AS cnt
FROM users
INNER JOIN user_dolg ON user_dolg.user_id = users.users_id
WHERE `date` BETWEEN '2019-02-01' AND '2019-02-28' AND komandi='командировка'
GROUP BY users.name;

Так что непонятно, откуда вы взяли, что "выборка идет как положено включая все даты февраля"
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы