Existe uma maneira de alternar consultas com base em valores? Digamos que eu tenha a consulta abaixo:
select pdate as 'Payment Date', ROUND(@sum_amount := @sum_amount + `amount`) AS 'Total Amount' from
(
select @sum_amount := 0, date(issue_date) pdate, sum(amount) amount from payments group by YEAR(date(issue_date))
) inner_tbl
Desejo alterar o intervalo de consulta (anual, mensal, diário) com base na entrada do usuário. Algo como abaixo:
SELECT CASE input WHEN 1 THEN **RUN YEARLY QUERY**
WHEN 2 THEN **RUN MONTHLY QUERY** ELSE **RUN DAILY QUERY** END;
Isso deve ser possível com operações lógicas básicas (IF, THEN, ELSE etc)
Nessa situação, você deseja obter o valor INPUT e verificá-lo em relação às suas condições (pseudocódigo):
Para mais informações sobre isso consulte o manual:
https://dev.mysql.com/doc/refman/5.7/en/if.html