[RESOLVIDO] Select com IN('2020';'2021')

Prezados, estou querendo filtrar uma tabela com um select usando o IN(‘2020’;‘2021’).

Em um combo escolhos os anos e chamo a consulta:
sc_redir(Consulta_meu_sindicato.php, parm1={cons_ano});

e na Consulta recebe o parametro:
SELECT docto.ano_base FROM
associasindicato INNER JOIN docto_clausulas ON associasindicato.id_sindicato = docto_clausulas.id_sind INNER JOIN docto ON docto_clausulas.id_docto = docto.id_docto
WHERE docto.ano_base IN (’[parm1]’ )

O help é como corrigir esse parâmetro [parm1] para que venha no formato correto ‘2022’;‘2021’ ??
…where docto.ano_base IN (‘2022;2021’ ) LIMIT 0,22

Obrigado

Primeiro eu usaria a macro sc_select_where(add) no evento onScriptinit e não usaria where no Select principal da consulta.

Segundo: antes de aplicar o where (evento onscriptinit utilizaar str_replace do php paraa trocar ; n(ponto e virugula) por , (virgula) (logo no inicio do evento onScriptInit.

1 Curtida

Obrigado Haroldo!
Na troca da ; para a , fiz isso no delimitador do campo que recebe o multivalores. Ok.

… e retirei as aspas na consulta…

SELECT docto.ano_base
FROM associasindicato INNER JOIN docto_clausulas ON associasindicato.id_sindicato = docto_clausulas.id_sind INNER JOIN docto ON docto_clausulas.id_docto = docto.id_docto
WHERE docto.ano_base IN ([parm1])

e …

where docto.ano_base IN (2022,2021) LIMIT 0,22

Certinho, não precisa de aspas no parâmetro recebido.

Valeu pela dica !!!

Obrigado e boa Noite!!

1 Curtida