Consulta "Tipo" do cliente mais de um valor

Eu tenho duas tabelas

Clintes

  • idCliente (int)
  • Nome (char)
  • idTipo (char)

Tipo

  • idTipo (int)
  • Tipo (char)

Na tabela Cliente, o campo idTipo é CHAR e armazena o idTipo da tabela Tipo.
O cliente pode ter mais que um idTipo que fica separado por “;” no ScriptCase

Minha dúvida é a seguinte:

Na tabela Tipo eu tenho:

idTipo | Tipo
4 | Cliente
14 | Fornecedor

Quando eu salvo na tabela Cliente um novo cliente com os dados a baixo:

idCliente | Nome | idTipo
1 | Odair | 4
2 | Marcos | 14; 4

Como eu faço para filtra a tabela cliente e retornar os cliente que tenham o idTipo = 4
Pois para mim está retornando somente o cliente com o Odair, mas deveria aparecer também o Marcos

Adelor bom dia,

Use a função EXPLODE do PHP. Assim tu vais ter um array com os códigos e vais poder filtrar como deseja.

Coloca no filtro desta consulta este campo selecionar = idTipo, condição desta campo = exatamente, e apaga as outras opção e coloca ‘não’ para não mostrar as outras.

Depois no filtro vai no neste campo e coloca o mesmo checkbox que usou no formulário igualzinho as mesmas opções ai durante a consulta só filtrar os mesmos dados que da certo.

E na SQL caso quiser fazer a SQL MANUAL:
SELECT * FROM clientes WHERE CONCAT( ‘;’, idTipo, ‘;’ ) LIKE ‘%;4;%’ OR CONCAT( ‘;’, idTipo, ‘;’ ) LIKE ‘%;14;%’ ;

Especifica para MySQL:
SELECT * FROM clientes WHERE FIND_IN_SET(‘14’, REPLACE(idTipo,’;’,’,’));