Cita:
Empezado por duilioisola
He hecho una prueba simple y este es el resultado que he obtenido:
Código SQL [-]
CREATE TABLE ENFERMEDAD (
ID INTEGER,
DESCRIPCION VARCHAR(60)
);
CREATE TABLE SINTOMA (
ID INTEGER,
DESCRIPCION VARCHAR(60)
);
CREATE TABLE SINTOMA_X_ENFERMEDAD (
ID INTEGER,
ID_ENFERMEDAD INTEGER,
ID_SINTOMA INTEGER
);
select e.id, e.descripcion,
count(sxe.id_sintoma) cantidad_sintomas_encontrados,
list(s.descripcion) lista_de_sintomas
from enfermedad e
join sintoma_x_enfermedad sxe on e.id = sxe.id_enfermedad
join sintoma s on sxe.id_sintoma = s.id
where
id_sintoma in (1, 3)
group by e.id, e.descripcion
order by 3 desc, 1
ID DESCRIPCION CANTIDAD_SINTOMAS_ENCONTRADOS LISTA_DE_SINTOMAS
-----------------------------------------------------------------------
2 E2 2 S1,S3
1 E1 1 S1
3 E3 1 S1
|
gracias por tu respuesta y gracias por la solucion ya lo adapte y estoy mas cerca de lograr el objectivo
Código SQL
[-]select E.id, e.descripcion,
count(sxe.id_sintoma) cantidad_sintomas_encontrados
from enfermedad e
join sintoma_x_enfermedad sxe on e.id = sxe.id_enfermedad
join sintoma s on sxe.id_sintoma = s.id
where
s.descripcion like '%diarrea%'
group by e.id, e.descripcion
order by 3 desc, 1
Código SQL
[-]id descripcion cantidad_sintomas_encontrados
19 ALERGIA ALIMENTARIA 2
14 ALERGIA A LA LECHE 1
15 ALERGIA AL CACAHUETE 1
16 ALERGIA AL HUEVO 1
17 ALERGIA AL PESCADO 1
33 ARTRITIS ENTEROPÁTICAS 1
ahora me surgen algunas interrogantes: partiendo de un principio donde todo comienza por una exploración inicial del paciente como ejemplo: 'Paciente con dificultas respiratoria y presión en el pecho' esto es un ejemplo pero dentro de este texto tendría yo que buscar en cualquiera de sus palabras coincidencia con los síntomas. con el like no lo estoy logrando ya que el busca una sola palabra dentro de esta cadena: habrá alguna forma de hacerlo? o habrá alguna forma de lograr eso funcione? la idea inicial es que con esta cadena de texto se reduzcan la búsqueda y de alguna forma luego podría proporcionar unas series de preguntas a fin de acercarme lo mas que pueda con una posible enfermedad o diagnóstico.