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

Como podria hacer esta consulta?

Estas en el tema de Como podria hacer esta consulta? en el foro de Bases de Datos General en Foros del Web. Tengo la tabla usuarios que tiene varios campos: id,nombre,apellidos,correo,... Y un campo que referencia a otra tabla: id_unidad que apunta a la tabla unidades organizativas ...
  #1 (permalink)  
Antiguo 16/08/2007, 16:20
Avatar de SILVI85  
Fecha de Ingreso: julio-2007
Mensajes: 109
Antigüedad: 17 años, 4 meses
Puntos: 1
Como podria hacer esta consulta?

Tengo la tabla usuarios que tiene varios campos: id,nombre,apellidos,correo,...
Y un campo que referencia a otra tabla: id_unidad que apunta a la tabla unidades organizativas (id,nombre),es decir, id_unidad(usuarios)->id(unidades_organizativas).

Bueno pues lo que quiero hacer es mostrar la tabla de usuarios con todos sus campos y en vez de mostrar el id_unidad,mostrar el nombre de esa unidad.Bien esto es sencillo,pero cuando éste campo está vacio (a 'null') no me muestra esta fila y no se porque.Ésto es lo que hago:



SELECT u.id,u.nombre,u.apellidos,u.usuario,u.correo,u.est ado,a.nombre,u.perfil FROM usuarios u,unidades_organizativas a
WHERE u.id_unidad=a.id ORDER BY id

¿Qué puedo hacer para que me muestre las filas que tienen el campo id_unidad a null?
Gracias
  #2 (permalink)  
Antiguo 17/08/2007, 00:40
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 9 meses
Puntos: 13
Re: Como podria hacer esta consulta?

silvi, no te muestra esa fila porque esta haciendo join con ese campo.
Para que te muestre esa fila usa left join.
where u.id_unidad=a.id (+)
La notación puede no ser correcta, hace mucho que abandone la notación antigua y no se que BD utilizas.

Un saludo
  #3 (permalink)  
Antiguo 17/08/2007, 02:05
Avatar de SILVI85  
Fecha de Ingreso: julio-2007
Mensajes: 109
Antigüedad: 17 años, 4 meses
Puntos: 1
Re: Como podria hacer esta consulta?

Sí hago lo que dices,me da error en la consulta:

SELECT u.id,u.nombre,u.apellidos,u.usuario,u.correo,a.nom bre,u.perfil FROM usuarios u,unidades_organizativas a WHERE u.id_unidad=a.id and u.estado=1 LEFT JOIN USUARIOS B ON B.id_UNIDAD IS NULL ORDER BY id

Que hago mal? Gracias. Saludos
  #4 (permalink)  
Antiguo 17/08/2007, 02:23
Avatar de SILVI85  
Fecha de Ingreso: julio-2007
Mensajes: 109
Antigüedad: 17 años, 4 meses
Puntos: 1
Re: Como podria hacer esta consulta?

Ya me ha salido, es así:

SELECT u.id,u.nombre,u.apellidos,u.usuario,u.correo,a.nom bre,u.perfil FROM usuarios u LEFT JOIN unidades_organizativas a on u.id_unidad=a.id and u.estado=1 ORDER BY u.id

Muchas Gracias seyko,besos.
  #5 (permalink)  
Antiguo 17/08/2007, 04:58
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 9 meses
Puntos: 13
Re: Como podria hacer esta consulta?

de nada

Salu2
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 23:32.