Cita:
Iniciado por gnzsoloyo
Para el tipo de consulta que quieres, no puedes usar JOIN implícitos (la coma), sino que debes hacerlos explícitos invocando dos veces la misma tabla pero con alias....
Es decir, no es una consulta muy simple.
Pero además, me da la impresión de que tu tabla relacional tiene un error de diseño...
Si para cada Ticket existe un Autor y un UsuarioAsignado, ambos deben estar en el mismo registro, en campos separados, y apuntando a la tabla de Usuarios.
En principio, lo que quieres tal vez se resuelva así:
Código MySQL:
Ver original T.id id,
U1.firstname name,
IF(TU.
TYPE = 1, U1.realname
, '') tipo1
, IF(TU.
TYPE = 1, U2.realname
, '') tipo2
INNER JOIN `glpi_tickets_users` TU
ON T.id
= TU.
`tickets_id`
pero para que funcionen de una manera simple, las tablas deberían ser:
Con eso la query sería:
Código MySQL:
Ver original T.id id,
U1.firstname name,
U1.realname tipo1,
U2.realname tipo2
INNER JOIN `glpi_tickets_users` TU
ON T.id
= TU.
`IdTicket` INNER JOIN glpi_users U2
ON TU.
`idusuarioAsignado` = U2.id
Mas simple, ¿no?
Bien Amigo
El segundo query que colocaste no funcionaria en mi caso, ya que en la tabla Tickets_Usuario se guardan en varios registros el Autor y UsuarioAsignado con un mismo numero de ticket
De esta manera por ejemplo
IDUsuarioTicket,ID_Ticket, TipoU
1 1 1
2 1 2
El primer query es el que me sirve, pero no me arroja resultado, no muestra nada. Partiendo de ese query que colocaste, hice este
Arroja los resultados pero se repiten y se muestran de la siguiente manera
IDTicket, Autor, Asignado
19 Fernando NULL
19 NULL Alejandro
Esta parte del primer query que enviaste
No funcionaba, asi que deje solamente los if que estan mas arriba en el select.
Esta dificil la cosa no?