Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

[SOLUCIONADO] valores null

Estas en el tema de valores null en el foro de SQL Server en Foros del Web. Tengo 2 tablas y quiero hacer una consulta. Estos son los valores que contienen: Tabla1: columna1 - Columna2 Valor0 - NULL Valor1 - 1234 Valor2 ...
  #1 (permalink)  
Antiguo 29/12/2014, 05:45
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 366
Antigüedad: 12 años
Puntos: 31
valores null

Tengo 2 tablas y quiero hacer una consulta. Estos son los valores que contienen:

Tabla1:

columna1 - Columna2
Valor0 - NULL
Valor1 - 1234
Valor2 - 5678

Tabla2:

Columna1 - Columna2
NULL - 00
1234 - 01
5678 - 02

Como ha de ser la Select para recibir el siguiente resultado?:

ColumnaA - ColumnaB
Valor0 - 00
Valor1 - 01
Valor2 - 02
  #2 (permalink)  
Antiguo 29/12/2014, 05:57
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: valores null

No puedes relacionar una columna NULL con otra que tenga estado NULL. Eso es simplemente absurdo porque NULL no es un dato. Es un estado de indefinición.
Por la descripción de tus tablas pareciera que la columna 1 de la segunda tabla fuese FK de la primera, y al mismo tiempo PK, pero una PK nopuede contener nulos, así como tampoco una FK puede tenerlos. Es parte de la definición de integridad referencial.

Me parece que estás manejando un diseño completamente mal construido, o bien datos sucios en las tablas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 29/12/2014, 06:38
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 366
Antigüedad: 12 años
Puntos: 31
Respuesta: valores null

Ya he dado con ello, tenía un problema con la falta de la primera línea de tabla 2, la correspondiente a NULL - 00 no la tenía insertada. Ahora ya me funciona bien la select.

La select la he construido con el comparador IS NULL en el WHERE:

Código SQL:
Ver original
  1. SELECT Tabla1.columna1, Tabla2.columna2
  2. FROM Tabla1,Tabla2
  3. WHERE Tabla1.columna2=Tabla2.columna1 OR (Tabla1.columna2 IS NULL AND Tabla2.columna1 IS NULL)

Última edición por gnzsoloyo; 29/12/2014 a las 07:37

Etiquetas: null, select, siguiente, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:51.