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

leftjoin

Estas en el tema de leftjoin en el foro de PostgreSQL en Foros del Web. Hola amigos veran tengo esta consulta en la cual la tabla rol tiene estos datos Código HTML: | id_rol | nombre | y la tabla ...
  #1 (permalink)  
Antiguo 13/02/2009, 08:57
Avatar de poloche  
Fecha de Ingreso: abril-2006
Ubicación: cochabamba
Mensajes: 93
Antigüedad: 14 años, 5 meses
Puntos: 1
Mensaje leftjoin

Hola amigos veran tengo esta consulta en la cual la tabla rol tiene estos datos
Código HTML:
| id_rol  | nombre  |       y  la tabla user_rol  |  rol   |  user     |
------------------------                                    ------------------ 
|100      | user        |                                  | 100  | 100
|101      | manager |                                      | 101  | 100
|102      | guest      |                                   | 102  | 100
|103      | admin      |                                   | 103  | 101  
                                                           | 100  | 102
                                                           | 101  | 103 
Código:
SELECT DISTINCT "r"."id_rol", "r"."nombre", "rp"."user" 
FROM "rol" AS "r"  LEFT JOIN "user_rol" AS "rp" 
ON r.id_rol=rp.rol 
WHERE rp.user=101 r.estado='Activo'
ORDER BY "rp"."persona" ASC
el resultado que espero es

Código HTML:
100  user          null
101  manager   null
102  gest          null
103  admin       101
pero solo obtengo

Código HTML:
103 admin 101
por fis si alguien podria ayudarme le estare agradecido
__________________
no estare lejos, por que siempre estare junto a ti
  #2 (permalink)  
Antiguo 13/02/2009, 11:49
Avatar de poloche  
Fecha de Ingreso: abril-2006
Ubicación: cochabamba
Mensajes: 93
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: leftjoin

bueno respondere a mi pregunta por si acaso a alguien le ayuda

Cita:
SELECT DISTINCT "r"."id_rol", "r"."nombre", "rp"."usuario"
FROM "rol" AS "r" LEFT JOIN "usuario_rol" AS "rp"
ON r.id_rol=rp.rol AND (rp.usuario='101')
WHERE (r.estado='Activo')
ORDER BY "rp"."usuario" ASC
esta es la estructra que se deberia seguir para poder hacer esa conulta
__________________
no estare lejos, por que siempre estare junto a ti
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 02:18.