MySQL - Select a varias tablas

 
Vista:

Select a varias tablas

Publicado por Frank Saenz (1 intervención) el 26/09/2015 20:32:18
Buenas tarde a todos, espero me puedan orientar en lo siguiente:

tengo dos tablas:

formato(id,descripcion,idUsuarioRecibio,idUsuarioEntrego,idUsuarioCapturo,....)

persona(id, nombre. apellido,....)

al querer recuperar los registros de la tabla formato lo realiso con un select y me devuelve todo correcto, sin embargo en la parte donde van los campo idUsuarioRecibio, idUsuarioEntrego, idUsuarioCapturo, estos aparecen con numeros lo cual es normal.

al intentar unir la tabla formato con la de personas, para que en vez de los id de los usuarios me muestre el nombre, lo hago de la siguiente manera para uno solo de los idusuarioRecibe y si me da correctamente:

SELECT
formatos.id,
formatos.fechaRecibe,
persona.nombrePerona,
persona.apellidoPaterno,
persona.apellidoMaterno,
formatos.numPacienteOM,
formatos.fechaCaptura
FROM
formatos
INNER JOIN persona ON persona.id = formatos.idUserRecibe


Pero cuando coloco los demas idUsuarioEntrego, idUusarioCapturo, la consulta me da em blanco.

SELECT
formatos.id,
formatos.fechaRecibe,
persona.nombrePerona,
persona.apellidoPaterno,
persona.apellidoMaterno,
formatos.numPacienteOM,
formatos.fechaCaptura,
formatos.idUserCapturo
FROM
formatos
INNER JOIN persona ON persona.id = formatos.idUserRecibe AND persona.id = formatos.idUserCapturo


Me gustaria saber como podria ser mi consulta, o si tengo que modificar la estructura de mi tabla, le com
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

Select a varias tablas

Publicado por SuperIndio (2 intervenciones) el 28/09/2015 15:29:38
A ver probá de esta manera?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
SELECT F.id,
       F.fechaRecibe,
       P.nombrePerona,
       P.apellidoPaterno,
       P.apellidoMaterno,
       F.numPacienteOM,
       F.fechaCaptura
  FROM formatos F,
       persona P
 WHERE P.id = F.idUserRecibe
 
SELECT F.id,
       F.fechaRecibe,
       P.nombrePerona,
       P.apellidoPaterno,
       P.apellidoMaterno,
       F.numPacienteOM,
       F.fechaCaptura,
       F.idUserCapturo
  FROM formatos F,
       persona P
 WHERE P.id = F.idUserRecibe
    OR P.id = F.idUserCapturo
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