Foros del Web » Programando para Internet » ASP Clásico »

ORDER BY 'ASP' con SQL server

Estas en el tema de ORDER BY 'ASP' con SQL server en el foro de ASP Clásico en Foros del Web. Estimados amigos, He convertido una BD Access en MS SQL; todo ha ido genial; no obstante, los campos 'memo' que me permitían ordenar la Base ...
  #1 (permalink)  
Antiguo 21/04/2006, 11:41
Avatar de emajesus  
Fecha de Ingreso: abril-2003
Mensajes: 278
Antigüedad: 21 años, 1 mes
Puntos: 1
ORDER BY 'ASP' con SQL server

Estimados amigos,

He convertido una BD Access en MS SQL; todo ha ido genial; no obstante, los campos 'memo' que me permitían ordenar la Base de Datos empleando Access han sido convertidos y SQL no me permite aplicarles un ORDER BY; me dice que text y ntext no son adecuados para ORDER BY clause.

¿Qué sucede? Se trata de una lista de alumnos a la que se incorporan nuevos alumnos continuamente y no puedo ordenarla manualmente para luego subirla

Gracias,

Emajesus
  #2 (permalink)  
Antiguo 21/04/2006, 11:46
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Así es, los campos text no deberían servir para ordenar...pues se asume que el tamaño es demasiado grande como para hacer un order by de ese campo, ahora la duda es, por qué ordenarlos por un text?
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 21/04/2006, 11:48
Avatar de emajesus  
Fecha de Ingreso: abril-2003
Mensajes: 278
Antigüedad: 21 años, 1 mes
Puntos: 1
para ordenarlos por orden alfabético
  #4 (permalink)  
Antiguo 21/04/2006, 11:50
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Pero a ver, qué guardas exactamente en ese campo?
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 21/04/2006, 12:00
Avatar de emajesus  
Fecha de Ingreso: abril-2003
Mensajes: 278
Antigüedad: 21 años, 1 mes
Puntos: 1
los nombres de mis alumnos -en formato 'memo' en Access- que paso a SQL.
  #6 (permalink)  
Antiguo 21/04/2006, 12:04
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Si emajesus, pero cómo es que los guardas y por qué tiene que ser un campo text?
Si recibe solamente un nombre, entonces a mi se me ocurre que no se necesita un text, pues un nombre generalmente tendrá cuando mucho 100 caracteres, podrías cambiar este tipo de dato a varchar 100 y ahí si podrás hacer el filtrado que requieres.

Otra cosita, si proporcionas la información correcta es más facil ayudarte


Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #7 (permalink)  
Antiguo 21/04/2006, 12:37
Avatar de emajesus  
Fecha de Ingreso: abril-2003
Mensajes: 278
Antigüedad: 21 años, 1 mes
Puntos: 1
U-goldman, como te comenté al principio hago una conversión de Access a SQL server automática aplicando el asistente de Access; en Access no localizo el tipo varchar que comentas. Además, te comento que trabajo con SQL remotamente, servicio ofrecido por Brinkster.

¿Podrías indicarme cómo convertir los campos text o memo de Access a varchar en SQL sabiendo que es un servidor remoto quien gestiona SQL?

Soy un novarto; quizá por ello planteo cosas demasiado posibles

Emajesus
  #8 (permalink)  
Antiguo 21/04/2006, 12:39
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
En lugar de memo en access, utiliza el text de 100, creo que con eso debería funcionar.

Saludos!
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #9 (permalink)  
Antiguo 21/04/2006, 12:42
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
La solución es la que el amigo ur... ug :) te proporciona.
Sólo quería decirte que no sé cómo hiciste en el pasado para ordenar por un campo memo de access porque éste no te lo permite!
__________________
...___...
  #10 (permalink)  
Antiguo 21/04/2006, 12:54
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Otra cosa que pudieras intentar pues obviamente no estás ocupando más de 800 caracteres, es en tu sentencia SQL, hazle un CAST a ese campo para ordenar por el, a lo mejor resulta

ORDER BY CAST(campo_text AS VARCHAR(8000))


Saludos.
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #11 (permalink)  
Antiguo 21/04/2006, 14:47
Avatar de emajesus  
Fecha de Ingreso: abril-2003
Mensajes: 278
Antigüedad: 21 años, 1 mes
Puntos: 1
me funciona; ahora, ¿cómo puedo concatenar dos criterios empleando ORDER BY? Uno de ellos el que propones -usando CAST- y otro, por ejemplo, categoría: formato número.

La expresión CAST es la primera vez que la veo. Siempre concatené con &. Ahora no sé si es la expresión adecuada.

Me estás ayudando mucho; te lo agradezco de verdad ;)

Emajesus

Última edición por emajesus; 21/04/2006 a las 14:58
  #12 (permalink)  
Antiguo 21/04/2006, 15:41
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Separa cada criterio

ORDER BY campo1, campo2

Pero esos campos deben estar en tu criterio de selección

SELECT campo1, campo2, campoN

El cast es una conversión nada más a otro tipo de dato, pero la verdad no te recomiendo utilizarlo para este propósito.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #13 (permalink)  
Antiguo 22/04/2006, 02:20
Avatar de emajesus  
Fecha de Ingreso: abril-2003
Mensajes: 278
Antigüedad: 21 años, 1 mes
Puntos: 1
CAST es lo que me ha funcionado; me dices que no debe emplearlo; ¿existe alguna otra opción trabajando remotamente con SQL server?
  #14 (permalink)  
Antiguo 22/04/2006, 11:56
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Cambiar el tipo de dato de ese campo como yo lo hablamos ;)

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
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 19:34.