BandaAncha.eu

  • 🔍 en 📰 artículos ⏎
  • 🔍 en 💬 foros ⏎
  • 🔍 en 👇 este 💬 foro ⏎
  • 🔍 en 👇 este 💬 tema ⏎
Regístrate Regístrate Identifícate Identifícate

Expertos en SQL... help me!!

mercucho1

En primer lugar perdonadme si esto no va aqui, es q no tenia ni idea de donde ponerlo.

El problema es muy sencillo, pero no le encuentro solución. Estoy trabajando sobre SQL Server y necesito hacer una consulta que enlace dos tablas. El problema es que el campo de enlace algunas veces puede ser null, y a la hora de realizar el select pues no me sale :(

Ejemplo, Tabla A (campos A1, A2, A3), Tabla B (campos B1,B2,B3). Realizo:
Select A.A1, B.B2 from A, B where A.A2 = B.B1

donde A2 va a la clave primaria de B1. A2 no tiene puede ser NULL.

Lo que yo quiero es q en el caso de que sea NULL pues simplemente no me aparezca el campo B2 ¿alguien sabe si se puede hacer?

Este tema está cerrado a nuevas respuestas. Abre un nuevo tema para retomar la conversación.
oreretaboy

wenas:

prueba a comparar el valor a2 preguntando si es diferente de null

select A.A1, B,B2
from A join B on (A.A2=B.B1)
where A2 is not null

ahora mismo no te puedo decir si lo k te acabo de escribir esta bien pero esa es la idea.

un saludo

🗨️ 7
mercucho1

lo acabo de probar, pero me sale lo mismo que de la otra manera. Ten en cuenta que yo quiero q me salgan todas las filas de la tabla A y, si existe, la información vinculada de la tabla B

🗨️ 4
oreretaboy

aver si te e entendido

Tabla A

dato A1
dato B1

table B

dato B1
dato B2

quieres:

columna 1 columna 2 columna3 columna4
datoA1 datoA2 datoB1 datoB2

si kieres k te salga eso y si es null no te aparecezca, tienes dos opciones:

1.- segir kon el null(ten en cuenta k aces una select masiva y los campos k no tengan nada siempre te devolveran null, no puedes acer nada contra eso)

2.- hacer dos select una por tabla

3.- si utilizas un programa utilizalo para filtrar los null

🗨️ 3
mercucho1

Perdona, me debo de haber explicado mal. Voy incluso al caso real. Tengo dos tablas: Persona (id, nombre, dni, fecha nacimiento, ciudad,...) y Ciudades (id, nombre, datos varios). El campo ciudad en la tabla persona, esta relacionado con el id de las ciudades, pero el campo ciudad puede ser nulo (ese es el problema)

Lo que yo quiero es sacar un listado q si la persona no tiene metida la ciudad, pues vale, que no me aparezca la ciudad pero me aparezca el resto de los datos. Lo que me pasa actualmente es q no me aparece nada de la fila.

Lo que quiero:
Nombre - Ciudad
Fulanito - Madrid
Menganito
Juanito
Pepito - Valencia

Lo que me sale:
Nombre - Ciudad
Fulanito - Madrid
Pepito - Valencia

🗨️ 2
oreretaboy
🗨️ 1
mercucho1
nachoou

Buenas noches.

select A.A1, B,B2
from A join B on (A.A2=B.B1)
where A2 is not null

Lo mismo pero poniendo LEFT JOIN en vez de JOIN solamente y suprimiendo la última líne de la condición WHERE.

SELECT A.A1, B.B2
FROM A LEFT JOIN B ON A.A2=B.B1

Un saludo.

🗨️ 1
mercucho1

eso mismo!!! Funciona a la perfeccion!!

Muchas thankius a todos!!