Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   INNER JOIN retornar valores NULL en PostgreSQL (https://www.clubdelphi.com/foros/showthread.php?t=95367)

camiz 29-08-2021 05:08:18

INNER JOIN retornar valores NULL en PostgreSQL
 
Hola compañeros,
necesito realizar una consulta INNER JOIN a una base de datos PostgreSQL, y necesito que me muestre todos los campos incluidos los que están en NULL

Código SQL [-]
SELECT *, tb2.nombre AS nombre_cliente, tbl3.placa, tbl3.serie
FROM tabla1 tb1
INNER JOIN tabla2 tb2 ON tb1.id2 = tb2.id
INNER JOIN tabla3 tb3 ON tb1.id3 = tb3.id
ORDER BY tb1.fecha DESC

donde el campo id2 de la tabla1 que se relaciona con el campo id la tabla2 es obligatorios, hasta ahí todo bien, pero el campo id3 que se relaciona con el id de la tabla3 no es obligatorio y es NULL. Entonces hacer la consulta INNER JOIN no muestra los registros. Y yo necesito que se muestren todos los campos en la consulta incluido los nulos... Necesito la ayuda de todos.

Casimiro Notevi 29-08-2021 10:11:53

Código SQL [-]
INNER JOIN tabla3 tb3 ON (tb1.id3 = tb3.id or tb3.id is null)

camiz 29-08-2021 21:36:18

Gracias Casimiro Notevi,

parece que he encontrado la solución

Código SQL [-]
FULL OUTER JOIN tabla3 tb3 ON tb1.id3 = tb3.id

bastaría con ordenarlo primero, así:

Código SQL [-]
SELECT *, tb2.nombre AS nombre_cliente, tbl3.placa, tbl3.serie
FROM tabla1 tb1
FULL OUTER JOIN tabla3 tb3 ON tb1.id3 = tb3.id
INNER JOIN tabla2 tb2 ON tb1.id2 = tb2.id
ORDER BY tb1.fecha DESC

Casimiro Notevi 30-08-2021 10:08:10

Cita:

Empezado por camiz (Mensaje 542498)
necesito realizar una consulta INNER JOIN

Me alegro de que lo hayas conseguido, aunque se suponía que era un requisito que fuese "inner join" :)


La franja horaria es GMT +2. Ahora son las 19:27: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