Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-01-2008
Avatar de salvica
salvica salvica is offline
Miembro
 
Registrado: mar 2004
Ubicación: Albacete (España) ... En un lugar de la Mancha ...
Posts: 304
Poder: 21
salvica Va por buen camino
Consulta ¿compleja?

Sé que el título no se ajusta a las normas, pero no encontré uno mas apropiado

Tengo un problema con una consulta para sacar todos los propietarios que tienen inmuebles de un tipo determinado

Código:
Tabla: PROPIETARIO (datos de los propietarios de inmuebles)
============================================================
ID_PROPIETARIO ---> clave del propietario
... -------> otros datos del propietario

Tabla: PROPIEDAD   (datos de los inmuebles)
============================================================
ID_PROPIEDAD -----> clave del inmueble
TIPO_PROPIEDAD ---> puede ser VIVIENDA, GARAJE, OFICINA, etc.
... -------> otros datos del inmueble

Tabla: PERTENECE (correspondencia entre los propetarios y sus inmuebles)
============================================================
ID_PERTENECE -----> identificador del registro
ID_PROPIETARIO ---> clave del propietario
ID_PROPIEDAD -----> clave del inmueble
Con esto saco los datos de TODOS los propietarios
Código SQL [-]
SELECT propietario.ID_PROPIETARIO, propietario.NOMBRE, propietario.APELLIDO_1, propietario.APELLIDO_2
  FROM propietario

Con esto saco los identificadores de los propietarios que tienen propiedades de un tipo determinado
Código Delphi [-]
{ pongo delphi porque no se porque no pilla la etiqueta sql }
SELECT DISTINCT pertenece.ID_PROPIETARIO
  FROM propiedad INNER JOIN pertenece ON propiedad.ID_PROPIEDAD = pertenece.ID_PROPIEDAD
 WHERE propiedad.TIPO="VIVIENDA"

He intentado lo siguiente (aparte de hacer el "canelo")
Código SQL [-]
SELECT propietario.NOMBRE, propietario.APELLIDO_1, propietario.APELLIDO_2,
       propietario.ID_PROPIETARIO IN (
                   SELECT DISTINCT pertenece.ID_PROPIETARIO
                     FROM propiedad INNER JOIN pertenece ON propiedad.ID_PROPIEDAD = pertenece.ID_PROPIEDAD
                    WHERE propiedad.TIPO="VIVIENDA"
       ) AS IDENTIFICADOR
  FROM propietario
pero no me vale, saca TODOS los propietarios y rellena IDENTIFICADOR con cero y menos uno (estos son los que tienen dichas propiedades)

¿como hago para que saque solo éstos últimos?
Agradecido por la ayuda
salvica

edito: ------> uso Zeos como conector y las tablas son .DBF
De nuevo agradecido
salvica

Última edición por salvica fecha: 13-01-2008 a las 18:02:21.
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
La consulta es demasiado compleja mane Conexión con bases de datos 0 26-12-2007 10:00:07
Consulta compleja Jesús Pena SQL 3 19-07-2007 07:54:40
Sentencia SQL super compleja Sr.Scorpion SQL 14 08-03-2007 00:12:49
Consulta SQL algo compleja subzero Firebird e Interbase 2 26-10-2006 18:49:01
consulta SQL que me resulta compleja j2mg SQL 5 29-05-2003 22:50:13


La franja horaria es GMT +2. Ahora son las 18:41:08.


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