FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Obtener filas que contienen dos o más valores distintos
Hola, este tema se trató en su día, pero lo dejé apartado por problemas de tiempo. Ahora, al retomarlo me he dado cuenta que no funciona. De todas formas, como sé que mucha gente no siguió el tema anterior, voy a intentar explicar la situación.
Tengo 3 tablas, una con pacientes, otra con diagnósticos (OPC_PALS_CLAVES) y la tercera que une pacientes con diagnósticos (PALS_CLAVES) de tal modo que tengo lo siguiente (ejemplo) Código:
PACIENTES PALS_CLAVES OPC_PALS_CLAVES -------------- ----------------- ------------------------ 1 PAC OPC 1 2 ----------------- 2 3 1 1 3 4 1 2 4 5 1 3 5 6 1 5 2 1 2 4 select pac from pals_claves where opc=1 and opc=5 para que me devolviara el paciente 1. ¿Como puedo hacer esto?. si lo hago utilizando select pac from pals_claves where opc in (1,5) me mostraría el paciente 1 y 2, y yo solo quiero que me muestre el 1 (porque es el que realmente cumple que se le han diagnosticado esas dos enfermedades) De nuevo, gracias por vuestra ayuda y comprensión. |
#2
|
||||
|
||||
¿ Has probado con subconsultas ?
Algo como : Código:
select PAC from PACIENTES where PAC in (select PAC from PALS_CLAVES where OPC = 1) and PAC in (select PAC from PALS_CLAVES where OPC = 5) and
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
#3
|
|||
|
|||
la forma propuesta funciona, pero ¿no existe otra forma más rápida?
Gracias |
#4
|
||||
|
||||
Hola.
No se me ocurre ninguna otra forma. De todas maneras si tienes un índice para los campos OPC, PAC en la tabla PALS_CLAVES, esta consulta tiene que ser muy rapida. Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
|
|
|