Re: AYUDA CON VISTA

From: Ronald Viscarra <ronald(dot)viscarra(at)gmail(dot)com>
To: Maria Antonieta Ramirez <maramirez(at)ulsaneza(dot)edu(dot)mx>
Cc: FORO POSTGRES <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: AYUDA CON VISTA
Date: 2017-10-09 23:33:26
Message-ID: CAJMafY7OXAKRWqihRb0qBVpESAyZQfMhFUivLS0JW7Lm-hvOQg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola, ya que necesitas mostrar diferentes campos de diferentes tablas, dado
una condición que aplica a ambas tablas, puedes usar un select con unión
algo así:

SELECT us*, ua.*
FROM usuarios us
LEFT JOIN usuariosadmin ua ON us.id=ua.id
WHERE us.id=6
UNION
SELECT us.*, ua.*
FROM usuariosadmin ua
RIGHT JOIN usuariosadmin ua ON us.id=ua.id
WHERE ua.id=6

cambiando las condiciones según tu criterio de búsqueda, que seria uno para
ambas tablas.

El resultado seria una fila con valores en solo los campos de la tabla en
la que se encuentra el usuario, y ninguna fila si no existe en ninguna
tabla.

saludos.

El 9 de octubre de 2017, 19:05, Maria Antonieta Ramirez <
maramirez(at)ulsaneza(dot)edu(dot)mx> escribió:

> a mi se me ocurre algo asi...
>
> buscar mi usuario en una tabla, si lo encuentra, mostrar los campos que
> necesito de la tabla 1 que es la de usuarios; Y si no lo encuentra que
> busque ese usuario en la tabla 2 que es la de usuariosadmin y si lo
> encuentra que muestre los campos de esa tabla. Si el usuario no esta en
> ninguna tabla que mande un mensaje.
>
>
> esa es mi idea pero no se como plasmarla y no se si es mejor una vista o
> en una funcion.
>
>
> ojala me puedan orientar sobre mi problema.
>
>
> gracias.
> ------------------------------
> *De:* Maria Antonieta Ramirez
> *Enviado:* lunes, 9 de octubre de 2017 18:00:45
> *Para:* Carlos Alberto Silva
>
> *Cc:* FORO POSTGRES
> *Asunto:* Re: AYUDA CON VISTA
>
>
> SI, de hecho son tablas con valores diferentes y asi esta planteado que
> fueran separadas ya que las ocupan en diferentes sistemas.
>
>
> De hecho mi usuario solo existe en una de las dos tablas no en las dos.
>
>
>
> corri este query que me hicieron favor de enviar pero no me arroja
> resultados , no se si es porque mi usuario y mi password no es el mismo en
> las dos tablas ya que cada usuario no existe en las dos tablas , solo estan
> en una de las dos tablas..
> ------------------------------
> *De:* Carlos Alberto Silva <casxxi(at)gmail(dot)com>
> *Enviado:* lunes, 9 de octubre de 2017 17:53:21
> *Para:* Maria Antonieta Ramirez
> *Cc:* FORO POSTGRES
> *Asunto:* Re: AYUDA CON VISTA
>
> select COALESCE(a.usuario, b.usuario) as usuario,
> COALESCE(a.pwd, b.pwd) as pwd,
> matricula,
> COALESCE(a.iniciosesion, b.iniciosesion) as iniciosesion,
> COALESCE(a.ultimoacceso, b.fechaultimoacceso) as ultimoacceso,
> token,
> a.activo
> from educaciondistancia.usuarios a
> left join educaciondistancia.usuariosadmin b on b.usuario = a.usuario
> where a.usuario ='aramirez'
>
>
> El 9 de octubre de 2017, 19:22, Maria Antonieta Ramirez <
> maramirez(at)ulsaneza(dot)edu(dot)mx> escribió:
>
>> Hola a todos...
>>
>>
>> Necesito hacer la busqueda de un valor , en mi caso es el usuario.
>>
>> Tengo que buscar si mi usuario exuste en la tabla usuarios y si no, que
>> lo busque en usuariosadmin. Mi pregunta es que es lo que mejor me
>> funcionaria aqui, hacer una vista o una función. Y si tienen algun ejemplo
>> se los agradeceria bastante.
>>
>>
>> select usuario, pwd, matricula, iniciosesion, ultimoacceso, token
>> from educaciondistancia.usuarios
>> where usuario ='aramirez'
>>
>>
>> select usuario,pwd, personal, activo,iniciosesion,fechaultimoacceso
>> from educaciondistancia.usuariosadmin
>> where usuario ='aramirez';
>>
>>
>>
>> Gracias!
>>
>
>
>
> --
> .... Si no es necesario, no imprima este correo. Todos somos responsables
> por el cuidado del medio ambiente...
>

--
Atte. Ronald Viscarra

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Edgar Baez 2017-10-10 03:34:11 Re: AYUDA CON VISTA
Previous Message Maria Antonieta Ramirez 2017-10-09 23:05:17 Re: AYUDA CON VISTA