Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   interbase, problemas con las condiciones (https://www.clubdelphi.com/foros/showthread.php?t=6737)

squenda 20-01-2004 20:57:30

interbase, problemas con las condiciones
 
Hola a todos los foreros, ahora si que necesito ayuda, mi problema es el siguiente:

tengo 2 tablas, una de ingresos y una de socios ligadas por el id_socio,
necesito hacer un reporte de socios con su respectivo estatus en $$
asi que hago un query como el que sigue:

SELECT
ing.*,
soc.nombre
FROM
ingresos ing,
socios soc
WHERE
soc.id_socio = ing.id_socio


y efectivamente me trae los datos que necesito pero si un socio no ha registrado un ingreso entonces no me lo muestra y yo necesito que lo muestre obviamente sin ingresos, en Oracle el problema se soluciona asi:

SELECT
ing.*,
soc.nombre
FROM
ingresos ing,
socios soc
WHERE
soc.id_socio = (+)ing.id_socio

con poner (+) el query me trae tanto los socios que tengan registrado un ingreso como los que no.

el problema es que necesito resolver esto en interbase, si alguien sabe de alguna modo que sustituya el (+) se lo voy a agradecer mucho.

Gracias

roman 20-01-2004 21:15:49

Específicamente en interbase no sé pero normalmente lo que tienes que hacer es un join:

Código:

SELECT
  ing.*,
  soc.nombre
FROM socios soc LEFT JOIN ingresos ing
ON (soc.id_socio = ing.id_socio)

La sintaxis específica quizá varíe pero el punto es que un LEFT JOIN incluye todos los registros de la tabla a la izquierda del join aun cuando no se relacionen con ningún registro en la otra tabla.

// Saludos


La franja horaria es GMT +2. Ahora son las 12:23:09.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi