Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > FireMonkey
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 13-04-2023
giantonti1801 giantonti1801 is offline
Miembro
 
Registrado: oct 2022
Posts: 143
Poder: 2
giantonti1801 Va por buen camino
Cita:
Empezado por duilioisola Ver Mensaje
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
);

/*
Enfermedades que contienen alguno de los sintomas 1 y 3
Ordenadas por cantidad de sintomas encontrados
*/
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
       /*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
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.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
busqueda SQL leandro085 SQL 2 16-04-2011 14:26:43
Consulta selectiva sizne SQL 19 19-05-2010 00:14:46
Eliminación Selectiva en ListView MaMu OOP 13 31-01-2008 20:48:53
Busqueda... mjjj Conexión con bases de datos 3 08-05-2007 10:58:37
Consulta Selectiva sobre Store Procedure raul_sal SQL 5 19-07-2003 21:35:37


La franja horaria es GMT +2. Ahora son las 07:17:44.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi