Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-05-2017
kevi_monn kevi_monn is offline
Registrado
NULL
 
Registrado: may 2017
Posts: 3
Poder: 0
kevi_monn Va por buen camino
clausula exists "minus"

Realizo una consulta con exists en psql donde tengo la siguiente sentencia
Código SQL [-]
select a.placa from autos a where exists(
    select aa.placa from auto_acci aa where exists(
        select * from accidentes ac where aa.no_acc=ac.no_acc and aa.placa=a.placa
)
me arroja los datos del placa auto en los que existe un accidente. Ahora bien si mi consulta fuese, saber que auto a participado en todos los accidentes?. me refiero a que si hay una clausula como la del algebra relacional "Minus". Gracias

Última edición por Casimiro Notevi fecha: 30-05-2017 a las 12:11:38.
Responder Con Cita
  #2  
Antiguo 30-05-2017
Avatar de gatosoft
[gatosoft] gatosoft is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Bogotá, Colombia
Posts: 833
Poder: 21
gatosoft Va camino a la fama
No veo como resolver tu necesidad especifica con un minus, sin embargo, la documentacion del minus e intersect de oracle está en el wiki de oracle

para el caso puntual:

Asumo que en cada accidente existe al menos un auto asociado y como en tu consulta solo te interesa la placa, yo iria solo a revisar una tabla, con algo como:


Código SQL [-]
Select placa 
from 
(
   Select placa, count(*) cuantos --cuanta los accidentes por auto
      from auto_acci
     <¿where rango de fecha?>
     group by placa
) where Cuantos in ( --filtra los autos que tengan numero de accidentes igual al total
                            select count(*) --Cuenta los accidentes
                              from (
                                       select distinct no_acc
                                         from auto_acci
                                         <¿where rango de fecha?>
                                     )
                            )


saludo
Responder Con Cita
  #3  
Antiguo 01-06-2017
kevi_monn kevi_monn is offline
Registrado
NULL
 
Registrado: may 2017
Posts: 3
Poder: 0
kevi_monn Va por buen camino
Smile Resuelto

Muchas gracias por responder a mi duda, lo resolvi de la siguiente manera
Código SQL [-]
select aa.placa   --Muestro las placas del auto que tiene n(del total de accidente)      
from autos a     
natural join auto_acci aa     
group by aa.placa 
having count(*) = (select count(*) from accidentes ) --Busco cuantos accidentes existen

Última edición por ecfisa fecha: 01-06-2017 a las 12:42:37. Razón: Ajustar código a visualización de página completa
Responder Con Cita
  #4  
Antiguo 01-06-2017
kevi_monn kevi_monn is offline
Registrado
NULL
 
Registrado: may 2017
Posts: 3
Poder: 0
kevi_monn Va por buen camino
No se veia del todo

No se veia del todo el codigo en la parte de arriba lol
Código SQL [-]
select  aa.placa --Muestro las placas del auto que tiene n(del total de accidente) 
from autos a
natural join auto_acci aa
group by aa.placa 
having count(*)=( select count(*) from accidentes ) --Busco cuantos accidentes existen

Última edición por ecfisa fecha: 01-06-2017 a las 12:43:10.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Usar TServerSocket y TClientSocket para enviar "streams" más o menos "grandes" dec Internet 9 04-08-2015 16:11:50
Error "Destination File Already exists" descargando por FTP pablopessoa Internet 3 04-12-2008 01:55:15
Necesito llamar a métodos de clases "hija" desde su clase "padre" Flecha OOP 17 20-04-2007 00:03:53
Firebir y usar "IF" en la clausula "SELECT" papulo SQL 6 25-07-2006 21:38:04
"Property Does not Exists" en QuickReport Mauro.NET Impresión 3 20-01-2006 19:53:44


La franja horaria es GMT +2. Ahora son las 12:19:32.


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