Hola
Se trata de sacar por un lado aquellas personas que tienen alquilada alguna propiedad y el tipo de propiedad que es, para ello hago lo siguiente:
Código SQL
[-]
-- inquilinos con contrato y tipos de propiedad
SELECT inquilinos.ID_CLAVE,
inquilinos.NOMBRE, inquilinos.APELLIDO_1, inquilinos.APELLIDO_2,
inquilinos.NIF,
inquilinos.TELEFONO_1,
inquilinos.DIRECCION, inquilinos.LOCALIDAD,
propiedades.TIPO
FROM contratos
LEFT JOIN inquilinos ON contratos.ID_INQUILINO=inquilinos.ID_CLAVE
LEFT JOIN propiedades ON contratos.ID_PROPIEDAD=propiedades.ID_CLAVE
y por otro lado sacar aquellas personas que no tienen ningún contrato firmado, para lo cual hago:
Código SQL
[-]
-- inquilinos sin contrato ni propiedad
SELECT inquilinos.ID_CLAVE,
inquilinos.NOMBRE, inquilinos.APELLIDO_1, inquilinos.APELLIDO_2,
inquilinos.NIF,
inquilinos.TELEFONO_1,
inquilinos.DIRECCION, inquilinos.LOCALIDAD,
"" AS TIPO
FROM inquilinos
WHERE inquilinos.ID_CLAVE NOT IN (SELECT contratos.ID_INQUILINO
FROM contratos)
El problema es que si hago la unión de las consultas bajo el
SQLite Administrator, en teoría me muestra datos, pero:
- si corro el programa bajo el IDE de Delphi me dice que falta el campo
APELLIDO_2
- si ejecuto directamente el programa, no da error pero no me muestra nada
¿veis qué puedo tener mal?
Gracias adelantadas
salvica