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

Select de SQL....

Estas en el tema de Select de SQL.... en el foro de Bases de Datos General en Foros del Web. Estimados amigos: Tengo una tabla donde un campo esta repetido n_veces y estan ordenados de menor a mayor , por ejemplo: 11112222223344444555666777777...... Como puedo hacer ...
  #1 (permalink)  
Antiguo 17/10/2003, 17:02
Avatar de Ugho  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 487
Antigüedad: 22 años
Puntos: 0
Select de SQL....

Estimados amigos:
Tengo una tabla donde un campo esta repetido n_veces y estan ordenados de menor a mayor , por ejemplo:
11112222223344444555666777777......
Como puedo hacer para seleccionar el ultimo registro de cada grupo de registros?

SELECT ??????.....

Espero haberme explicado bien....
SALUDOS y gracias de antemano
__________________
________________________________________

Ugho.
  #2 (permalink)  
Antiguo 17/10/2003, 17:20
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 10 meses
Puntos: 5
eso que dices es un campo de texto (char o text) que contiene una cadena?

Si es eso, puedes probar algo así:

select substring(campoTexto,(length(campoTexto))) as ultimo from tuTabla

Salud!!!
__________________
Manoloweb
  #3 (permalink)  
Antiguo 20/10/2003, 08:06
Avatar de Ugho  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 487
Antigüedad: 22 años
Puntos: 0
En realidad no es un string, es un campo repetido n_veces seria algo asi:
campo
--------
1
1
1
2
2
2
2
3
3
3
3
3
3
.....
y necesito seleccionar el ultimo registro repetido
__________________
________________________________________

Ugho.
  #4 (permalink)  
Antiguo 20/10/2003, 09:18
 
Fecha de Ingreso: octubre-2003
Mensajes: 26
Antigüedad: 21 años, 1 mes
Puntos: 0
Te refieres a que en:
1
1
1-> Quieres el registro de este campo
2
2
2
2
2->el registro de este,
etc...??

Es eso lo que quieres?
  #5 (permalink)  
Antiguo 20/10/2003, 09:44
Avatar de Ugho  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 487
Antigüedad: 22 años
Puntos: 0
Si amigo Doubitative:
Ese es lo que necesito
__________________
________________________________________

Ugho.
  #6 (permalink)  
Antiguo 20/10/2003, 10:05
 
Fecha de Ingreso: octubre-2003
Mensajes: 26
Antigüedad: 21 años, 1 mes
Puntos: 0
Se me ocurre:
select dintinct Nombre_Campo
from Tu_Tabla;

pero claro, tienes que especificar mas porque en el campo 1 tienes tres registros que son diferentes entre ellos, porque eso no me acaba de quedar claro...
  #7 (permalink)  
Antiguo 20/10/2003, 12:04
Avatar de Ugho  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 487
Antigüedad: 22 años
Puntos: 0
Si amigo el campo 1 y todos los demas campos tiene registros que son diferentes entre ellos, alguna otra sugerencia?
SALUDOS
__________________
________________________________________

Ugho.
  #8 (permalink)  
Antiguo 20/10/2003, 17:02
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años, 7 meses
Puntos: 25
Si son diferentes entonces debes de tener alguna forma de localizar el campo que te interesa, quiza una fecha o algun dato en particular que lo haga diferente y que indique que es el qui quieres seleccionar.

De manera mas tecnica: lo que nos pones no es una llave, necesitas una si quieres accesar algunos de los registros en particular.
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #9 (permalink)  
Antiguo 21/10/2003, 08:38
Avatar de Ugho  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 487
Antigüedad: 22 años
Puntos: 0
Lo que pasa es que mi llave es autonumerica y la cantidad de registros repetidos que se generan es aleatoria por lo tanto no puedo saber cuando es la ultima pero necesito accesarla.
Campo Llave Campo
---------------- --------
1 1
2 1
3 1
4 2
5 2
6 3
7 3
8 3
9 3
..... ....

De todas formas amigos mucha gracias me parece un poco engorroso pero voy a tener que usar un metodo carretero para poder hacerlo (pense que habia una manera mas sencilla pero me parece que no es tan sencilla).
SALUDOS.
__________________
________________________________________

Ugho.
  #10 (permalink)  
Antiguo 21/10/2003, 09:20
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años, 7 meses
Puntos: 25
Asi con el autonumerico creo que ya es mas facil, si no me equivoco quieres el ultimo de cada numero:
3 1
5 2
9 3

Se me ocurre algo como:
Código:
SELECT campo, campo2 FROM laTabla 
WHERE campo_llave IN (
    SELECT MAX(campo_llave) FROM laTabla
    GROUP BY campo
)
No se si sea lo mas optimo, pero creo que funcionara
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #11 (permalink)  
Antiguo 21/10/2003, 10:00
Avatar de Ugho  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 487
Antigüedad: 22 años
Puntos: 0
Eso exactamente lo que necesito amigo, me parece que resultará, lo voy a probar y te cuento como me fué.
SALUDOS
__________________
________________________________________

Ugho.
  #12 (permalink)  
Antiguo 21/10/2003, 10:16
Avatar de Ugho  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 487
Antigüedad: 22 años
Puntos: 0
Perfecto amigo era lo que estaba buscando, ya lo probé.
Que estes bien.
SALUDOS
__________________
________________________________________

Ugho.
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 23:15.