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

Valor Null en sql server

Estas en el tema de Valor Null en sql server en el foro de SQL Server en Foros del Web. Hola! Estoy intentando hacer un query utilizando Inner Join para unas tablas que tienen estos datos: Tabla Empleados Codigo = 1 Empleado = Juan Codigo ...
  #1 (permalink)  
Antiguo 28/05/2012, 19:34
 
Fecha de Ingreso: noviembre-2010
Mensajes: 175
Antigüedad: 13 años, 5 meses
Puntos: 1
Valor Null en sql server

Hola! Estoy intentando hacer un query utilizando Inner Join para unas tablas que tienen estos datos:

Tabla Empleados

Codigo = 1 Empleado = Juan
Codigo = 2 = Empleado = <Null>
Codigo = 3 = Empleado = María


Tabla Departamentos

Codigo = 1 Departamento = <Null>
Codigo = 2 Departamento = Informática
Codigo = 3 = Departamento = Finanzas


Hago la query correspondiente con el Inner Join y me tendría que traer solamente los datos que se cumplen en su totalidad como Empleado "María" Departamento "Finanzas" pero me trae todos los datos como si hubiera tirado un Left/Right Join.

¿Me estará tomando el campo Null con algún valor en especial por eso me trae todos los datos inclusive los nulos?

Saludos!
  #2 (permalink)  
Antiguo 28/05/2012, 20:56
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Valor Null en sql server

¿cual es tu query?
__________________
MCTS Isaias Islas
  #3 (permalink)  
Antiguo 30/05/2012, 15:38
 
Fecha de Ingreso: noviembre-2010
Mensajes: 175
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Valor Null en sql server

Código PHP:
Select
             A
.Empleado,
             
B.Departamento
From
             Empleados A
Inner Join
            Departamentos B
On
           A
.Codigo B.Codigo 
  #4 (permalink)  
Antiguo 30/05/2012, 15:48
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Valor Null en sql server

si entiendo bien te regresa los registros porque estas haciendo un inner join por el campo id y el campo id existe en las 2 tablas

Tabla Empleados

Codigo = 1 Empleado = Juan
Codigo = 2 = Empleado = <Null>
Codigo = 3 = Empleado = María


Tabla Departamentos

Codigo = 1 Departamento = <Null>
Codigo = 2 Departamento = Informática
Codigo = 3 = Departamento = Finanzas

asi que te regresaria

1 juan Null
2 Null Informatica
3 Maria Fianzas

aqui lo que podrias hacer es algo asi:

Código SQL:
Ver original
  1. SELECT
  2.              A.Empleado,
  3.              B.Departamento
  4. FROM
  5.              Empleados A
  6. INNER JOIN
  7.             Departamentos B
  8. ON
  9.            A.Codigo = B.Codigo  AND a.empleado IS NOT NULL AND b.departamento IS NOT NULL
y te regresaria

3 Maria Fianzas


Saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 30/05/2012, 16:59
 
Fecha de Ingreso: noviembre-2010
Mensajes: 175
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Valor Null en sql server

Cita:
Iniciado por Libras Ver Mensaje
si entiendo bien te regresa los registros porque estas haciendo un inner join por el campo id y el campo id existe en las 2 tablas

Tabla Empleados

Codigo = 1 Empleado = Juan
Codigo = 2 = Empleado = <Null>
Codigo = 3 = Empleado = María


Tabla Departamentos

Codigo = 1 Departamento = <Null>
Codigo = 2 Departamento = Informática
Codigo = 3 = Departamento = Finanzas

asi que te regresaria

1 juan Null
2 Null Informatica
3 Maria Fianzas

aqui lo que podrias hacer es algo asi:

Código SQL:
Ver original
  1. SELECT
  2.              A.Empleado,
  3.              B.Departamento
  4. FROM
  5.              Empleados A
  6. INNER JOIN
  7.             Departamentos B
  8. ON
  9.            A.Codigo = B.Codigo  AND a.empleado IS NOT NULL AND b.departamento IS NOT NULL
y te regresaria

3 Maria Fianzas


Saludos!
Ahhhh...la clave estaba en los campos Id. Gracias!

Etiquetas: null, server, sql, tabla, campos
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 21:22.