Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: mark182 en 12 Abril 2013, 03:45 am



Título: Query en MySQL
Publicado por: mark182 en 12 Abril 2013, 03:45 am
Hola como estan?

Estoy pensando como hacer una query y la verdad que no me sale. Les paso a explicar:

- Tengo 2 tablas: Usuarios y Favoritos.
- En la primera tengo todos los datos del usuario
- En la segunda los ID de cada usuario, si uno es "favorito" del otro.

Ahora quiero traer todos los datos de la tabla usuarios y, ademas, identificar cual de todos los usuarios traidos esta agregado como favorito de un usuario x.


Espero que se entiendo, cualquier cosa pongo un ejemplo.
Gracias.


Título: Re: Query en MySQL
Publicado por: Shell Root en 12 Abril 2013, 15:25 pm
Código
  1. SELECT usu.id, usu.nombre, (SELECT usu.nombre FROM usuario WHERE fav.idUsuario LIMIT 1) FROM usuario usu JOIN favorito fav ON usu.id = fav.idUsuario;

Supongo que con una subquery se puede, aunque la verdad hace rato que no lo hago y puedo estar equivocado :p


Título: Re: Query en MySQL
Publicado por: s7evin en 16 Abril 2013, 16:05 pm
Buenas tardes,

no sé si ya voy tarde... jeje

(sin saber nombres de tables/columnas)
Código:
SELECT
   `usuario`.`ID`,
   `usuario`.`nombre`,
   IFNULL(`favorito`.`usuario_ID`, '') AS `favorito_usuario`
FROM
   `usuario`
   LEFT JOIN
      `favorito`
      ON `favorito`.`usuario_ID` = `usuario`.`ID`
GROUP BY
   `usuario`.`ID`

Espero que te sirva para lo que te propones.
Saludos!