PostgreSQL - selects anidados

 
Vista:

selects anidados

Publicado por cesar indalecio (2 intervenciones) el 31/10/2006 20:43:07
buen dia
soy un novato en postgresql. queria ver si alguien me podia ayudar para hacer selects anidados ya que necesito relacionar dos tablas por el id, (id_usuario e id_accion) pero entre ellas estan 4 trablas y estoy intentando esto:

select id_usuario
into id_usuario
from usuario
( aqui me falta un joint creo pero no se como es la syntaxis )
where id_usuario in (select id_usuario from grupo_rol where id_usuario=id_usuario
and id_grupo_rol from grupo_roles_rol where id_grupo_rol=id_grupo_rol
and id_rol from grupo_roles_rol where id_rol=id_rol
and id_permiso from permiso where id_rol=id_rol
and id_accion from permiso where id_accion=id_accion)

agradeciendo de ante mano la atencion
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:selects anidados

Publicado por Julio (334 intervenciones) el 01/11/2006 00:02:31
Join con que? si estas referenciando a una sola tabla

Según veo tu query no tiene problemas, en todo caso, cual es el error que te sale o que es lo que no te sale
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:selects anidados

Publicado por cesar indalecio (2 intervenciones) el 01/11/2006 16:33:42
me sale un error en el from, ejemplo

select id_usuario
into id_usuario
from usuario
( aqui me falta un joint creo pero no se como es la syntaxis )
where id_usuario in (select id_usuario from grupo_rol where
id_usuario=id_usuario ** hasta aqui si me hace el query

and id_grupo_rol from grupo_roles_rol where id_grupo_rol=id_grupo_rol
**aqui es donde me sale que el from esta mal
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:selects anidados

Publicado por Julio (334 intervenciones) el 03/11/2006 15:59:39
Repito nuevamente, cual es el "MENSAJE" de error que te arroja
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:selects anidados

Publicado por jersson (1 intervención) el 14/07/2009 21:09:42
tienes que usar la sentencia IN de postgres en el where o tambien crear una tabla temporal con alias en el from

con where.............

select nombre from persona where apellido='xxxx' and nombre IN (consulta anidada)

con from...............

select nombre from persona p, (consulta anidad) s where apellido='xxxx' and p.???=s.???;

los signos de interrogacion los cambias por los atributos que quieres igualar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar