FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Interpretar SQL
Muy buenas.
Tengo una duda con la siguiente SQL a ver si conseguimos aclarar. Esta SQL debería borrar todo de la tabla estudios donde un id_paciente tiene un nº determinado de estudios (esto es el igual del having count(estudio)= 1 ) delete from estudios where id_paciente in (select id_paciente from estudios group by id_paciente having count(estudio) = 1) Pues bien, para todos aquellos id_paciente que tienen un único estudio lo hace fenomenal, borra todos. Pero si aumentamos los estudios por id_paciente ya no lo hace bien, por ejemplo 2 estudios por id_paciente. delete from estudios where id_paciente in (select id_paciente from estudios group by id_paciente having count(estudio) = 2) Para situaros, si en la bd tengo 4 registros de 2 id_pacientes distitnos ESTUDIOS ID_PACIENTE -----1------------1 -----2------------1 -----3------------2 -----4------------2 y hago la SQL anterior delete from estudios where id_paciente in (select id_paciente from estudios group by id_paciente having count(estudio) = 2) el resultado es que borra el primer registro de cada id_paciente, pero no lo borra completamente y necesito que así fuera. ESTUDIOS ID_PACIENTE -----2------------1 -----4------------2 Uso IB 7.5. Perdon por el tochazo pero no sabia explicarme mejor y mas corto. Gracias por la ayuda. Última edición por juanpe fecha: 10-07-2007 a las 11:30:25. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Saber interpretar los sueños | Bicho | Humor | 0 | 10-02-2006 10:11:30 |
Interpretar ficheros XSD | kes | Conexión con bases de datos | 0 | 20-01-2005 12:16:37 |
Interpretar codigo Html | miguel_fr | Internet | 2 | 13-04-2004 15:17:21 |
Interpretar mensajes de MS-Dos | verm83 | Varios | 3 | 07-04-2004 15:41:53 |
|