PHP - se pueden unir dos select y mostrar toda esta informacion en la tabla?

 
Vista:
Imágen de perfil de Rosman
Val: 26
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

se pueden unir dos select y mostrar toda esta informacion en la tabla?

Publicado por Rosman (13 intervenciones) el 21/05/2019 16:25:46
Buenas tardes, presento el siguiente problema, no he conseguido como hacer esta solicitud del cliente


Al momento de consultar comparativamente en la tabla busco que me muestre un SELECT en donde me traiga el nombre y apellido del usuario y el nombre y apellido del tecnico que acepto el caso, es decir, consulto a la misma tabla

para explicarlo un poco mejor, creo que lo mejor es hacerlo de este modo

nombre_cliente | apellido_cliente | nombre_tecnico | apellido_tecnico |
Luis | Moncada | Rodrigo | Lavado |

donde esta la primera relacion es en la tabla solicitud, que es donde el cliente guarda el problema que tiene con su equipo, en esta tabla (solicitud) se encuentra un campo llamado usuario_id que es quien ha hecho la solicitud (valga la redundancia)

cuando un tecnico toma el caso, se guarda en la tabla relacional, ahi guarda el id de la solicitud y el id del usuario con permiso de tecnico que acepto la solicitud. (tecnico_solicitud)

id | solicitud | tecnico |
1 | 2 | 1 |

si existiera manera de unir dos select y traerla en un registro me funcionaria lo que deseo hacer pero lo unico que encontre fue UNION (y UNION ALL) pero el unifica ambos campos de la tabla y no quiero eso, quiero que en un mismo registro me traiga los dos datos y entienda donde esta la diferencia en la consulta ya que al armar algo como esto no funciona:

SELECT users.name AS nombre_cliente, users.lastname AS apellido_cliente,users.name AS nombre_tecnico, users.lastname AS apellido_tecnico FROM tecnico_solicitud INNER JOIN users ON users.id = tecnico_solicitud.usuario_id INNER JOIN solicitud ON users.id = solicitud.users_id


NOTA: debo tener la tabla con el nivel de acceso asi, porque alguien que es tecnico puede pasar a ser cliente en cualquier momento, lo mas fiable es usar una misma tabla y modificar el campo a conveniencia
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
Imágen de perfil de Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

se pueden unir dos select y mostrar toda esta informacion en la tabla?

Publicado por Kathyu (905 intervenciones) el 21/05/2019 18:17:53
Utilice otro tipo de JOIN, LEFT por ejemplo.

A parte dibuje cual quiere que sea el resultado de su query y le ayudare, pero de verdad que su peticion es super confusa, usted pida que quiere de salida y veremos como ayudamos
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
Imágen de perfil de Rosman
Val: 26
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

se pueden unir dos select y mostrar toda esta informacion en la tabla?

Publicado por Rosman (13 intervenciones) el 21/05/2019 23:11:59
Ya lo resolvi, como comente en el otro post (que no se aun como cerrar, disculpeme) cree una vista la cual me ayudo a tratar la consulta que necesitaba como otra tabla mas, le dejo la sentencia, espero le pueda ser util a alguna otra persona, siempre es bueno ayudar, mil gracias por su comentario.

CREATE VIEW vw_tecnico AS (

SELECT id AS id_tecnico, name AS nombre_tecnico, lastname AS apellido_tecnico, email AS email_tecnico, estado_usuario AS estado_tecnico FROM `users` WHERE `nivel_acceso` = 632583'

);

SELECT
DISTINCT(solicitud.id) AS id_solicitud,
users.name AS nombre_solicitante,
users.lastname AS apellido_solicitante,
vw_tecnico.nombre_tecnico,
vw_tecnico.apellido_tecnico

FROM solicitud

LEFT JOIN tecnico_solicitud ON tecnico_solicitud.solicitud_id = solicitud.id
LEFT JOIN users ON users.id = solicitud.users_id
LEFT JOIN vw_tecnico ON vw_tecnico.id_tecnico = tecnico_solicitud.usuario_id
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
Imágen de perfil de Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

se pueden unir dos select y mostrar toda esta informacion en la tabla?

Publicado por Kathyu (905 intervenciones) el 21/05/2019 23:55:26
Al final fue LEFT, tal cual aconsejaba.

Mal eso de varios post.
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
Imágen de perfil de Leonardo Daniel A.
Val: 50
Ha disminuido su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

se pueden unir dos select y mostrar toda esta informacion en la tabla?

Publicado por Leonardo Daniel A. (33 intervenciones) el 22/05/2019 05:25:59
Hechale un ojo a esta informacion, te servira para que entiendas las forma de hacer relaciones

SQL-Joins
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar