Verificar se campo contém determinada informação
Prezados, em uma tabela chamada CONTATOS eu criei um campo chamado TIPO_DE_CONTATO (varchar). Neste campo eu armazeno a informação de ID de uma terceira tabela chamada de TIPOS_CONTATOS, exemplo:
Tabela: TIPOS_CONTATOS
id 1 = Fornecedor
id 2 = Cliente
id 10 = Transportadora
id 11 = Vendedor
id 12 = Funcionario terceirizado
Então, ao criar um registro na minha tabela de CONTATOS, eu armazeno no campo CONTATOS.TIPO_DE_CONTATO algo como: "1; 2; 10; 11; 12;".
Enfim, até aqui tudo tranquilo. Agora minha dúvida é como pesquisar dentro deste campo, exemplo: se eu quiser saber quais são os registros da tabela de CONTATOS que contém em CONTATOS.TIPO_DE_CONTATO a informação referente ao "Fornecedor" (ou seja, id 2), como eu faço?
Basta eu usar INSTR no WHERE?
Minha dúvida: usei INSTR, mas já que CONTATOS.TIPO_DE_CONTATO é VARCHAR, ele identifica os seguintes registros: "2; 12" pois todos estes contém número "2".
Sugestões de como localizar esta informação da forma correta?
Discussão (4)
Carregando comentários...