Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

ID misma tabla 2 nombres Diferentes

Estas en el tema de ID misma tabla 2 nombres Diferentes en el foro de Mysql en Foros del Web. Tengo la siguiente consulta que me arroja el nombre de usuario de la tabla USUARIO con respecto a su ID @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código MySQL: Ver ...
  #1 (permalink)  
Antiguo 09/05/2017, 15:16
Avatar de emilio_viguri  
Fecha de Ingreso: junio-2011
Ubicación: Mexico
Mensajes: 116
Antigüedad: 12 años, 10 meses
Puntos: 3
Pregunta ID misma tabla 2 nombres Diferentes

Tengo la siguiente consulta que me arroja el nombre de usuario de la tabla USUARIO con respecto a su ID

Código MySQL:
Ver original
  1. SELECT gasolina.*, usuario.nombre,
  2. FROM gasolina
  3. LEFT JOIN usuario ON gasolina.idusuario = usuario.idusuario
  4. WHERE gasolina.autorizaidusuario IS NOT NULL AND gasolina.cerrado IS NULL

Aquí obtengo el resultado algo asi...
---------------------------------------------
-IDusu--IDauto--OtrosDatos--NomUsu--
- 1 -- 11 -- datos -- Ely --
---------------------------------------------
La falla fue aquí donde tengo que sacar el nombre de la tabla USUARIO con 2 ID diferentes

Código MySQL:
Ver original
  1. SELECT gasolina.*, usuario.nombre, ????.??????
  2. FROM gasolina
  3. LEFT JOIN usuario ON gasolina.idusuario = usuario.idusuario
  4. AND gasolina.autorizaidusuario = usuario.idusuario
  5. WHERE gasolina.autorizaidusuario IS NOT NULL AND gasolina.cerrado IS NULL

Por que se supone que tengo usuarios con niveles de usuarios unos pide otros autorizan

La cosa es si el usuario 1 pide y el usuario 11 autoriza como ver los nombres con la consulta

Tabla Usuario es:
IDusuario = Usuario = 1, 11, etc.
Nombre = Ely, Raul, ETC...

Tabla Gasolina es:
idgasolina = autoincrementeo
idsuario = 1, el que solicita
autorizaidusuario = 11, el que autoriza

Necesito sacar algo así
---------------------------------------------------------
-IDusu--IDauto--OtrosDatos--NomUsu--NomAuto--
- 1 -- 11 -- datos -- Ely -- Raul --
---------------------------------------------------------
  #2 (permalink)  
Antiguo 09/05/2017, 15:18
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: ID misma tabla 2 nombres Diferentes

Código MySQL:
Ver original
  1. SELECT gasolina.*, usuario.nombre, u2.nombre
  2. FROM gasolina
  3. LEFT JOIN usuario ON gasolina.idusuario = usuario.idusuario
  4. left join usuario as u2 on gasolina.autorizaidusuario = u2.idusuario
  5. WHERE gasolina.autorizaidusuario IS NOT NULL AND gasolina.cerrado IS NULL
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 09/05/2017, 15:38
Avatar de emilio_viguri  
Fecha de Ingreso: junio-2011
Ubicación: Mexico
Mensajes: 116
Antigüedad: 12 años, 10 meses
Puntos: 3
De acuerdo Respuesta: ID misma tabla 2 nombres Diferentes

Cita:
Iniciado por Libras Ver Mensaje
Código MySQL:
Ver original
  1. SELECT gasolina.*, usuario.nombre, u2.nombre
  2. FROM gasolina
  3. LEFT JOIN usuario ON gasolina.idusuario = usuario.idusuario
  4. left join usuario as u2 on gasolina.autorizaidusuario = u2.idusuario
  5. WHERE gasolina.autorizaidusuario IS NOT NULL AND gasolina.cerrado IS NULL
Muchas gracias funciona...

Me podrías explicar que paso o como lo haces por que le pones U2 Supongo que al poenrl AS renombras usuario a U2 y ya verdad
  #4 (permalink)  
Antiguo 09/05/2017, 15:46
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: ID misma tabla 2 nombres Diferentes

Es un "alias" de la tabla, si no le pones un alias entonces el manejador de bases de datos no sabra si te refieres a la tabla del 1er join a la del segundo. Y no, no se renombra, el "cambio" es solo en el query
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: nombres, select, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:11.