Problema Aplicação Consulta utilizando filtro com campo do tipo Duplo-Select

Prezados amigos,
Tenho a seguinte modelo de negócio: Cadastro de consulta médica, no qual cadastra um ou mais problemas de saúde, que são identificados pelo médico. O segundo passo é diagnosticar a doença. Esta é cadastra, relacionando um ou mais problemas identificados na consulta médica.
Eu fiz uma aplicação do tipo Consulta, criei um filtro com um campo do tipo duplo-select, para o médico selecionar o ou os problemas. Criei um select no SQL da aplicação consulta. O SC cria, a seguinte linha na clausula where do SQL da aplicação consulta:
AND descricao IN(filtro1, filtro2,…,filtroN).
Está funcionando, mas não está correto.
Ocorre que o IN utiliza, internamente, o operador lógico OR. Desta forma o SQL traz todas as doenças que possuam pelo menos um dos problemas filtrados. A idéia do filtro é trazer somente a ou as doenças que possuam todos os problemas selecionados no filtro.
Como posso fazer para o SQL traga somente o registro desejado?
Estou utilizando MySql.
Agradeço antecipadamente toda atenção.
Aguardo.
Sds,
JLMonteiro

como teria que ficar a instrução SQL?

Haroldo,
a instrução criei da seguinte forma

Select distinct(doe.descricao), nome, idade
from det_diagnostico det, diagnostico dia, doenca sint , doenca doe , paciente pac
where pac.numero = dia.num_paciente
and dia.num_paciente = det.num_paciente
and dia.dat_consulta = det.dat_consulta
and dia.cod_doenca = det.cod_doenca
and det.cod_doenca = doe.cod_doenca
and doe.descrica in (sintoma1, sintoma2,…, sintomaN) – Esta última linha é criada pelo SC.
Utilizando o IN serão selecionados todos as doenças que possuam pelo menos um dos sintomas.
O que preciso é listar as doenças que possuam todos os sintomas selecionados.
Att,
jlmonteiro

Os sintomas estão dentro da descrição?

Você não tem uma tabela (Sintoma x doença)?

se os sintomas estão dentro da descrição (Não são previamente cadastrados), vc vai ter que pegar o select quebrar ele e montar o where dinamicamente, com a função explode você consegue trazer para dentro de um array os sintomas, com o foreach vc atribui em uma string descrição like "%sintoma1% e vai concatenando cada item do array.

Haroldo,
não esqueça que estou utilizando o FILTRO da aplicação CONSULTA. O Filtro possui um campo Descricao do tipo DUPLO-SELECT (seleciono os sintomas que desejo filtrar), que são passados, através do campo Descricao como parâmetro para aplicação CONSULTA.
Ex, Doenças Sintomas
ATEROSCLEROSE VASCULAR HERNIA DE HIATO
DIVERTICULITE
DISLEPIDEMIA

     CARDIOPATIA HIPERTENSIVA          DIVERTICULITE
                                                            DISLIPIDEMIA

Se for selecionado no filtro : Hernia de Hiato, Diverticulite e Dislepidemia
Só pode trazer o registro de doença ATEROSCLEROSE VASCULAR, pois possui todos os 3 sintomas.

Consegui explicar melhor?
Agora, como eu faria nesta aplicação CONSULTA, utilizando o FILTRO com Duplo-Select, seguindo a sua sugestão, utilizando a clausula where dinamicamente com a função explode?
Aguardo.
Sds.
José Luiz

Coloca na consulta, no evento onscriptinit o código:

echo {descricao};

cole o resultado do echo aqui após selecionar alguns sintomas.

Em seguida continuo com a explicação.