Unificar query

Iniciado por EFEX, 5 Febrero 2014, 12:42 PM

0 Miembros y 1 Visitante están viendo este tema.

EFEX

Llevo un tiempo con esto.. dando vueltas, cual es la mejor forma de unificar estos dos query, 1 es para obtener el tema junto con info del usuario y el otro es para obtener los 'likes' del tema junto con info del usuario...

Código (sql) [Seleccionar]

/* MOSTRAR TEMA 1 */
SELECT users.name, users.email, temas.titulo
FROM temas
INNER JOIN users ON temas.idusuario = users.id
WHERE temas.id = 1;


/* OBTENER LIKES DEL TEMA 1 */
SELECT users.name, users.email
FROM likes
INNER JOIN users ON likes.idusuario = users.id
WHERE likes.idtema = 1;


Esto lo hago en 2 query lo cual no es lo correcto y quiero hacerlo en un solo query. Dejo un enlace para que prueben..

http://sqlfiddle.com/#!2/174a0/9
GITHUB 

HdM

Hola.

Si no te entendí mal, podría ser:

Código (sql) [Seleccionar]

SELECT users.name, users.email, temas.titulo, userslike.name AS name_like, userslike.email AS email_like
FROM users AS userslike
INNER JOIN ((users INNER JOIN temas ON temas.idusuario = users.id)
INNER JOIN likes ON temas.id=likes.idtema) ON userslike.id=likes.idusuario
WHERE temas.id = 1;


Un saludo.

- Nice to see you again -

EFEX

Gracias por el ejemplo me sirvio!, solo tengo que prevenir que el mismo usuario quien creo el tema no pueda darse auto-like.
GITHUB