Olá, boa tarde.
Estou com uma situação que não consigo entender o motivo.
Simplesmente ao fazer um filtro, seja ele refinado ou quicksearch, aparece isso na tela.
O que poderia ser isso? tentei contornar de várias maneiras, é bem aleatório a maneira que aparece.
Esse seria o sql que estou utilizando
SELECT
CASE
WHEN max(cer.data_vencimento) < CURDATE() THEN 'Vencido'
ELSE 'Válido'
END as situacao,
max(cer.id) as id,
ee.id as id_empresa,
epg.nome as nome_grupo,
ee.nome as nome_empresa,
ee.cnpj,
ct.nome_certidao AS nome_certidao_ct,
CONCAT("(", cm.nome, " ", ce.sigla, ")") AS locale,
ce.sigla,
max(cer.data_vencimento) as data_vencimento,
max(cer.atualizado_em) as atualizado_em,
max(cer.deletado_em) as deletado_em,
max(cer.nome_arquivo) as nome_arquivo,
max(cer.arquivo) as arquivo,
max(cer.criado_em) as criado_em,
max(cer.observacao) as observacao,
max(cpr.dias) as dias,
max(cer.tipo) as tipo,
max(cer.meio_captura_automatica) as meio_captura_automatica,
(max(cer.data_vencimento) - INTERVAL COALESCE(max(cpr.dias), 0) DAY) AS nova_data_prazo_renovacao,
max(cer.responsavel) as responsavel,
max(cer.acao) as acao
FROM
cer_certidoes cer
INNER JOIN emp_empresas ee ON
ee.id = cer.id_empresa
LEFT JOIN emp_grupos epg ON
epg.id = ee.grupo
INNER JOIN sec_users su ON
su.login = '[usr_login]'
LEFT JOIN cer_prazo_renovacao cpr ON
cpr.id = cer.id_prazorenovacao
LEFT JOIN cfg_tipocertidao ct ON
ct.id = cer.tipo
LEFT JOIN cfg_municipios cm ON
cm.id = cpr.id_municipio
LEFT JOIN cfg_estados ce ON
ce.id = cpr.id_estado
WHERE
(
cer.deletado_em IS NULL
AND (
epg.id IS NOT NULL
AND (
FIND_IN_SET(epg.id, su.grupos) > 0
OR FIND_IN_SET(CONCAT(';', epg.id), su.grupos) > 0
OR FIND_IN_SET(CONCAT(epg.id, ';'), su.grupos) > 0
OR FIND_IN_SET(epg.id, REPLACE(su.grupos, ';', ',')) > 0
)
)
)
OR cpr.id = 0
GROUP BY
ee.id,
epg.id,
su.grupos,
cm.nome,
ce.sigla,
tipo
Aí por algum motivo o scriptcase na hora dos filtros, está puxando o max das colunas para dentro do where e conflitando.