Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Consulta SQL para datos ordenados en otra tabla (https://www.clubdelphi.com/foros/showthread.php?t=6676)

cotoprix 17-01-2004 21:08:20

Consulta SQL para datos ordenados en otra tabla
 
Requiero hacer una consulta donde los datos deberian aparecer ordenados en funcion de unos datos ordenados en otra tabla. Me explico. Tengo una tabla1 donde ordeno unos datos de fechas pej '0310' que significa octubre 2003 y tengo otra tabla2 donde hay una cantidad de datos y uno de sus campos es la fecha y su nomenclatura es igual. Cuando lanzo la consulta deberian salirme ordenados de acuerdo a los datos que se leen de tabla1 en ese mismo orden.Como realizaria la consulta?

marcoszorrilla 17-01-2004 21:20:50

Creo que tendrás que explicarte un poco más, pero si solo pides como ordenar los datos por un campo en SQL sería

Código:

Select *
From MiTabla
Order by MiCampo

Un Saludo.

ramiretor 19-01-2004 17:01:35

Hola:
Si te entendí bien lo que necesitas es hacer join con la tabla que trae el campo por el que quieres ordenar.

Saludos
:D

cotoprix 24-01-2004 01:09:35

El problema es el siguiente: tengo que recuperar unos datos de una tabla pero deben estar ordenados de acuerdo al orden que aparecen unos datos en otra tabla, ejemplo:
tabla1
nombre edad ingreso
manuel 23 0010
juan 25 0103
rosa 18 0110
jose 30 0310
rafael 40 0010

Tabla2
ingreso
0010
0103
0110
0310
en la tabla 2 esta el orden que se deben recuperar los datros, debo hacer la consulta de tal manera que me arroje el siguiente resultado

nombre edad ingreso
manuel 23 0010
rafael 40 0010
juan 25 0103
rosa 18 0110
jose 30 0310

primero los datos de ingreso 0010,0103,0110,0310. Como le podria hacer requiero suayuda. Gracias

__cadetill 24-01-2004 18:38:29

Código:

select *
from tabla1 t1
          inner join tabla2 t2 on (t2.ingreso = t1.ingreso)
order by t2.ingreso


cotoprix 26-01-2004 01:31:28

Gracias cadetill el codigo me funciono perfectamente, pero cuando en la tabla2 se presenta asi
Tabla2
ingreso
0003
0006
0010
0011
0103
0110
0310
cuando ordena presenta los resultados en orden diferente, 0011,0010,0006,0003 y no debiera hacerlo, al final le coloco en la orden order by t2.ingreso desc y me sigue dando el mismo ordenamiento como lo resuelvo para que sea 0003,0006,0010,0011,0103,0110,0310.Gracias de antemano

__cadetill 26-01-2004 11:08:03

Seguro????? :confused: :confused:

Al ser una campo alfanumerico.... en la base de datos están los 0 al principio de los números? Es decir, su longitud siempre es de 4?

cotoprix 26-01-2004 23:45:06

El campo es de texto y de longitud 4, pero eso me pasa con otros datos, ej: 9903,9908,9909...que los ordena 9909,9908,9903 entonces no me los emite como deben estar ordenados....????. Sigo intentando, ya recupero la consulta porque en el ejemplo me falto 1 campo que es grupo, donde es numerico y me permite recuperar los datos agrupados por ese campo, pero no en la fecha de ingreso como deben...Gracias :)

cotoprix 26-01-2004 23:54:53

El campo es de texto y de longitud 4, pero eso me pasa con otros datos, ej: 9903,9908,9909...que los ordena 9909,9908,9903 entonces no me los emite como deben estar ordenados....????. Sigo intentando, ya recupero la consulta porque en el ejemplo me falto 1 campo que es grupo, donde es numerico y me permite recuperar los datos agrupados por ese campo, pero no en la fecha de ingreso como deben...Gracias :)


La franja horaria es GMT +2. Ahora son las 16:48:52.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi