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 21-07-2011
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
filtrar 2 tablas

Estimados, tengo un problema, y es que tengo 2 tablas diferentes

Persona
Per_Rut
Per_Nombre
Per_Apellido
Per_Estado

EscuelaEsc_Id
Esc_Fecha
Esc_Vigencia
Esc_Estado

necesito mostrar todos los registros que esten en la tabla Persona pero que no esten en la tabla Escuela. Las tablas estan relacionadas por el campo Per_Rut

la cosa es que en estos momentos estoy con un lapsus.. y no me acuerdo como realizar dicho filtro....


Salu2
__________________
BlueSteel
Responder Con Cita
  #2  
Antiguo 21-07-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
A ver asi:
Código SQL [-]
SELECT * FROM Persona
WHERE NOT EXISTS (SELECT * FROM Escuela WHERE Persona.Per_Rut =  Escuela.Per_Rut );
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 21-07-2011
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Código SQL [-]
Select P.per_Nombre, P.per_Rut
from Persona P
Left outer join Escuela E on P.Per_Rut = E.Per_Rut
Where E.Per_Rut is null

estoy suponiendo que el campo de enlace es el mismo en las dos tablas...
__________________

Responder Con Cita
  #4  
Antiguo 23-07-2011
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
Estimados....

las 2 consulas funcionaron bien.... pero la de Contraveneno es más eficaz...

Código SQL [-]
SELECT dbo.Persona.Per_Rut, dbo.Persona.Per_Nombres + ' ' + dbo.Persona.Per_Apellidos AS Nombre, 
dbo.Persona.Per_Nombres, dbo.Persona.Per_Apellidos, dbo.Persona.Per_Estado, dbo.Persona.Tip_Id, 
dbo.Persona.Per_Sorteo, dbo.TipoPersona.Tip_Detalle FROM         dbo.Persona INNER JOIN dbo.TipoPersona ON 
dbo.Persona.Tip_Id = dbo.TipoPersona.Tip_Id WHERE     
(NOT EXISTS  (SELECT     Esc_Id, Per_Rut, 
Esc_Fecha, Esc_Vigencia, Abo_Id, Esc_Estado  FROM dbo.Escuela  
WHERE  (dbo.Persona.Per_Rut = Per_Rut))) AND 
(dbo.Persona.Tip_Id = '06') OR  (dbo.Persona.Tip_Id = '07')


aki la otra sentencia

Código SQL [-]
dbo.Persona.Per_Rut AS Rut, dbo.Persona.Per_Nombres + ' ' + dbo.Persona.Per_Apellidos AS Nombre, 
dbo.Persona.Per_Nombres, dbo.Persona.Per_Apellidos, dbo.Persona.Per_Estado, dbo.Persona.Tip_Id, 
dbo.Persona.Per_Sorteo, dbo.TipoPersona.Tip_Detalle FROM         dbo.Persona 
INNER JOIN dbo.TipoPersona ON dbo.Persona.Tip_Id = dbo.TipoPersona.Tip_Id 
LEFT OUTER JOIN  dbo.Escuela ON dbo.Persona.Per_Rut = dbo.Escuela.Per_Rut 
WHERE (dbo.Escuela.Per_Rut IS NULL) AND (dbo.Persona.Tip_Id = '06') OR  (dbo.Persona.Tip_Id = '07')



Ahora, otra pregunta... yo estas consultas las utilizo como vistas... ya que son solo para mostrar datos y/o consultar.... esto quita rendimiento???


Salu2
__________________
BlueSteel

Última edición por BlueSteel fecha: 23-07-2011 a las 01:30:43.
Responder Con Cita
  #5  
Antiguo 23-07-2011
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Hasta donde mis amplios y vastos conocimientos sobre el motor de base de datos propiedad de Microsoft, al cuál llamamos Microsoft SQL Server, para cualquier de sus versiones, me permiten aseverar: no
__________________

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
Filtrar tres tablas paradox al tiempo Camilo Conexión con bases de datos 3 09-10-2007 11:50:51
To Be or Not To Be: Filtrar o no Filtrar esa es la cuestion gorsan Conexión con bases de datos 10 04-10-2007 12:14:10
Filtrar miguel_figueroa Conexión con bases de datos 11 04-01-2007 00:50:48
Filtrar Dbf userlazarus Conexión con bases de datos 2 23-05-2006 17:48:45
Filtrar pepelu1975 OOP 24 18-05-2004 10:14:57


La franja horaria es GMT +2. Ahora son las 15:37:09.


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