SQL unión tablas por valores null

Rubo18

Buenas Mediavideros, tengo un problemilla con un Select en SQL Server.

Quiero hacer un select que muestre valores de 4 tablas, uniendo por id, pero ésta es en algunos casos null, en cuyo caso omite el resultado.

Ejemplo:

Tabla 1: id, nombre, fk_idtabla2, fk_idtabla3, fk_idtabla4
Tabla 2: id, nombre
Tabla 3: id, nombre
Tabla 4: id, nombre

En la tabla 1 hay algunos valores NULL en los fk, en cuyo caso el SELECT directamente no me muestra nada (ni siquiera el id, me omite esa línea en el resultado).

El select en cuestión es:
SELECT id, nombre, nombretabla2, nombretabla3, nombretabla4
From tabla1, tabla2, tabla3, tabla4
Where fk_idtabla2=idtabla2 and fk_idtabla3 = idtabla3 and fk_idtabla4 = idtabla4

Necesito mostrar también los resultados con valores null en los campos FK. La base de datos no se puede cambiar.

kraneok

Tendrás que utilizar JOIN e indicar por donde quieres que salgan los datos.

SELECT tabla1.campo1, tabla1.campo2, tabla2.campo2 FROM tabla1 LEFT JOIN tabla2 ON tabla1.campo = tabla2.campo;

Básicamente lo que hace es que saca todos los registros que coincidan tenga o no valor.

1 respuesta
Soltrac

left outer join

1 respuesta
Rubo18

#2 Lo he probado con Inner Join y pasa exactamente lo mismo :(.

#3 Solved. Muchas gracias, ya funciona <3. Es lo que tiene tener SQL un poco oxidado xD.

wineMan

Outer ftw

Usuarios habituales

  • wineMan
  • Rubo18
  • Soltrac
  • kraneok