Alterar SQL conforme seleção no radio do filtro

Bom Dia,

Criei um filtro com os campos Data, Código, de uma tabela produção, e incluí um campo tipo, do tipo radio, onde o usuário pode selecionar “formula” e “produto”.
Quero que qdo o usuário selecionar formula, execute o sequinte SQL. SELECT desc_formula, count() as qtde from producao left join formula on (producao.formula = formula.codigo) group by desc_formula
se o usuário selecionar produto no radio, deve executar o seguinte SQL SELECT desc_produto, count(
) as qtde from producao left join produto on (producao.produto = produto.codigo) group by desc_produto

Grata

Para isso funcionar você vai precisar deixar essa grid sem filtro e criar um controle que executa evento ajax on click no campo rádio e após fazer o que precisa redireciona para consulta passando os parâmetros.

Mas daí crio o grid sem sql nenhum??

e passo no ajax para a consulta usando o sc_select?

Explica melhor o que você precisa.
O relatório inicia pelo filtro e ao clicar no rádio você quer exibir um valor
Ou
Você quer que o campo rádio seja preenchido com o valor conforme você passou?

A consulta inicia pelo filtro, o usuário preenche ou não o intervalo de data, código, etc. e marcar o tipo (esse campo é obrigatório).

depois de selecionado, clica em pesquisa avançada e deveria listar a grid conforme o tipo (cada tipo tem um sql diferente)

Agora eu entendi.
Sua consulta principal é a SELECT desc_formula, count(*) as qtde from producao left join formula on (producao.formula = formula.codigo)
porém ao selecionar o campo você quer que altere a condição do on (producao.formula = formula.codigo) ou (producao.produto = produto.codigo)
isso?

Dependendo do radio que o usuário selecionar eu faço o left com outra tabela…

se selecionar a formula, mostro o nome da formula e a quantidade
se selecionar o produto, mostro o nome do produto e a quantidade

acho que teria que mudar o select inteiro, pois o o nome da formula em uma tabela, é diferente do nome do produto na outra tabela

Na verade não tem como fazer isso pelo filtro não.
Você teria que fazer uma consulta com union all trazendo as duas condições do left e um campo que diferencia uma consulta da outra.
E assim filtrar esse campo que diferencia.