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

Consulta a 2 tablas y ordenar los datos segun 2 campos de 1 tabla...

Estas en el tema de Consulta a 2 tablas y ordenar los datos segun 2 campos de 1 tabla... en el foro de Mysql en Foros del Web. Hola, estoy tratando de hacer una consulta y no me resulta. les explico, realizo una consulta a 2 tablas pero deseo ordenar los datos segun ...
  #1 (permalink)  
Antiguo 22/02/2010, 18:46
Avatar de chascon  
Fecha de Ingreso: diciembre-2004
Mensajes: 231
Antigüedad: 19 años, 4 meses
Puntos: 0
Consulta a 2 tablas y ordenar los datos segun 2 campos de 1 tabla...

Hola, estoy tratando de hacer una consulta y no me resulta.
les explico, realizo una consulta a 2 tablas pero deseo ordenar los datos segun 2 campos de 1 de las tablas, mas o menos asi:

Código PHP:

$sql 
"select u.*,t.* from mcm_user u,mcm_tesoreria t where u.idUser=t.user and t.year='$_GET[year]' order by 'rol' and '$_GET[orden]' ASC"
los datos YEAR y ORDEN llegan por un formulario.
ROL es un campo que son letras A, B, C..., E.
ORDEN puede ser "apaterno" (apellido paterno) o "idUser" (numero identificatorio), que son campos de 1 de las tablas, en este caso mcm_user, la cual abrevie con la letra "u".

Los datos llegan a la pantalla, todos, pero no los ordena...

Lo he probado de muchas maneras y ya no se me ocurre como...

En que me estoy equivocando?

Cualquier ayuda se los agradesco muchisisisisimoo!!!
  #2 (permalink)  
Antiguo 23/02/2010, 02:39
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Consulta a 2 tablas y ordenar los datos segun 2 campos de 1 tabla...

innoDB

Código PHP:
Ver original
  1. $sql = "select * from mcm_user u "
  2. ."            inner join mcm_tesoreria t "
  3. ."            on u.idUser=t.user "
  4. ."where t.year=".$_GET[year]." "
  5. ."order by u.rol, u.".$_GET[orden]." ASC";

myISAM

Código PHP:
Ver original
  1. $sql = "select * from mcm_user u, join mcm_tesoreria t "
  2. ."where u.idUser=t.user "
  3. ."and t.year=".$_GET[year]." "
  4. ."order by u.rol, u.".$_GET[orden]." ASC";


si?

Quim
  #3 (permalink)  
Antiguo 23/02/2010, 09:36
Avatar de chascon  
Fecha de Ingreso: diciembre-2004
Mensajes: 231
Antigüedad: 19 años, 4 meses
Puntos: 0
Respuesta: Consulta a 2 tablas y ordenar los datos segun 2 campos de 1 tabla...

Hola quimfv, gracias por responder =)

ayer de tanto probar llegue a esto:

Código PHP:

$sql 
"select u.*,t.* from mcm_user u,mcm_tesoreria t where u.idUser=t.user and t.year='$_GET[year]' and u.centro='$centro' order by u.rol, u.".$_GET[orden]." ASC"
asi me funciona el orden segun u.rol
pero me sigue sin ordenar por la variable que llega por $_GET

intente como me dices en la segunda opcion, ya q estoy usando MySQL, pero no me funciona.


intente tambien con otra variable colocandola antes de la consulta, asi:

$ordn = "u.".$_GET[orden];

...order by u.rol, '$ordn' ASC";

puse un ECHO para ver si llegaba la variable, y si llega como deberia, ej:
u.apaterno

pero tampoco me funciona, no me tira error, pero no lo ordena =(

Si sirve, estoy ocupando class para las consultas, aun que no creo que tenga algo que ver, el problema es q no lo ordena =(.
  #4 (permalink)  
Antiguo 23/02/2010, 11:21
Avatar de chascon  
Fecha de Ingreso: diciembre-2004
Mensajes: 231
Antigüedad: 19 años, 4 meses
Puntos: 0
Respuesta: Consulta a 2 tablas y ordenar los datos segun 2 campos de 1 tabla...

para tratar de facilitarme las cosas, la condicion ROL la saque del ordenamiento y la puse como condicion para seleccionar, asi:

Código PHP:
$ordn "u.".$_GET[orden];
$sql "select u.*,t.* from mcm_user u,mcm_tesoreria t where u.idUser=t.user and t.year='$_GET[year]' and u.centro='$centro' and u.rol='$_GET[rol]' order by '$ordn' ASC"
ahora solo tiene la opcion del $_GET[orden] para ordenar, que la puse con la variable $ordn, para agragarle el "u.", pero aun asi no pasa nada, no ordena.

Alguien alguna idea?
  #5 (permalink)  
Antiguo 23/02/2010, 12:19
Avatar de chascon  
Fecha de Ingreso: diciembre-2004
Mensajes: 231
Antigüedad: 19 años, 4 meses
Puntos: 0
Respuesta: Consulta a 2 tablas y ordenar los datos segun 2 campos de 1 tabla...

Al final lo hice, por si a alguien le sirve, aqui esta:

Código PHP:
$sql "select u.*,t.* from mcm_user u,mcm_tesoreria t where u.idUser=t.user and t.year='$_GET[year]' and u.centro='$centro' and u.rol='$_GET[rol]' order by u.".$_GET[orden]." ASC"
gracias =)

Etiquetas: campos, tablas
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 11:01.