Mysql выберите, где процедура = 1 - PullRequest
0 голосов
/ 03 ноября 2019

У меня есть процедура "CheckStatus", которая возвращает 0 или 1. Как я могу использовать этот запрос без HAVING? Он не работает должным образом с лимитом 0,10 - он фильтрует строки со статусом = 0, и я никогда не получал 10 результатов, как ожидал. Да, я понимаю, что БЕЗ ГРУППЫ BY только фильтрация результатов, а не строк.

Как я могу использовать статус в ГДЕ?

select id,CheckStatus(stock,delivery_days) as `status` from new where 
id in ('52078','52093','52095','81584','81589') 
having status in ('1') 
order by field (id,'52078','52093','52095','81584','81589') group by id limit 0,10

Также, возможно, я могу каким-то образом создать сгенерированный столбец с этимпроцедура? Я попытался добавить его, но получил ошибку о том, что не могу вызвать процедуру для сгенерированных столбцов.

...