Foros del Web » Soporte técnico » Ayuda General »

[SOLUCIONADO] El resultado de la consulta SQL sale en desorden

Estas en el tema de El resultado de la consulta SQL sale en desorden en el foro de Ayuda General en Foros del Web. Hola amigos, vengo para que por favor me ayuden en un pequeño problema que me resulto luego de hacer una consulta a la BD, quiero ...
  #1 (permalink)  
Antiguo 10/11/2015, 13:05
 
Fecha de Ingreso: julio-2013
Ubicación: Colombia
Mensajes: 11
Antigüedad: 10 años, 9 meses
Puntos: 0
Exclamación El resultado de la consulta SQL sale en desorden

Hola amigos, vengo para que por favor me ayuden en un pequeño problema que me resulto luego de hacer una consulta a la BD, quiero sacar las fechas de nacimiento de personas con esta consulta:

SELECT fecha_nac
from datos_personales
where datos_personales.fecha_nac in('numero_documento1', 'numero_documento2','numero_documento3'...)

me trae lo que necesito, pero resulta que el resultado de la consulta no sale en el orden 'numero_documento1','numero_documento2','numero_do cumento3' como lo indico dentro de los paréntesis pues resulta que si el 'numero_documento1' se encuentra en la ultima posición de la tabla, pues en esa posición de los resultados obtenidos es que queda, algo como así:

'numero_documento2'
'numero_documento3'
'numero_documento1'

Y necesito que lo que indique dentro del paréntesis me quede en dicho orden mas no como vaya encontrando los registros.

Espero sea clara la duda que tengo y agradezco de antemano de ustedes sus respuestas.
  #2 (permalink)  
Antiguo 10/11/2015, 13:15
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Respuesta: El resultado de la consulta SQL sale en desorden

Una cosa es lo que va a comparar en el IN y otra el ordenamiento. Para eso, necesitas colocar al final ORDER BY y los campos.
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #3 (permalink)  
Antiguo 10/11/2015, 13:23
 
Fecha de Ingreso: julio-2013
Ubicación: Colombia
Mensajes: 11
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: El resultado de la consulta SQL sale en desorden

Cita:
Iniciado por BrujoNic Ver Mensaje
Una cosa es lo que va a comparar en el IN y otra el ordenamiento. Para eso, necesitas colocar al final ORDER BY y los campos.
Gracias por tu respuesta, pero como debería quedar la consulta, ya que el in lo utilizo para poder traer varios resultados, en este caso fechas de nacimiento de diferentes usuarios.
  #4 (permalink)  
Antiguo 10/11/2015, 13:51
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: El resultado de la consulta SQL sale en desorden

¿Que tiene que ver el modo en que los obtengas, con la forma en que los ordenes?

Ya te explicó BrujoNic: Debes poner el ORDER BY (algo de manual básico) si quieres que el resultado aparezca en un orden determinado. De lo contrario te los devolverá en el mismo orden que los encuentre.

Creo que no es muy complicado lo que te dice:

Código SQL:
Ver original
  1. SELECT fecha_nac
  2. FROM datos_personales
  3. WHERE fecha_nac IN('fechanac1', 'fechanac2','fechanac3'...)
  4. ORDER BY numero_documento
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 11/11/2015, 12:50
 
Fecha de Ingreso: julio-2013
Ubicación: Colombia
Mensajes: 11
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: El resultado de la consulta SQL sale en desorden

Cita:
Iniciado por gnzsoloyo Ver Mensaje
¿Que tiene que ver el modo en que los obtengas, con la forma en que los ordenes?

Ya te explicó BrujoNic: Debes poner el ORDER BY (algo de manual básico) si quieres que el resultado aparezca en un orden determinado. De lo contrario te los devolverá en el mismo orden que los encuentre.

Creo que no es muy complicado lo que te dice:

Código SQL:
Ver original
  1. SELECT fecha_nac
  2. FROM datos_personales
  3. WHERE fecha_nac IN('fechanac1', 'fechanac2','fechanac3'...)
  4. ORDER BY numero_documento
Gracias por tu ayuda, creo tengo un error a la hora de poner mi consulta es asi:

SELECT fecha_nac
from datos_personales
where datos_personales.id_pac in('numero_documento1', 'numero_documento2','numero_documento3'...)

estoy consultando fechas de nacimiento con los numero de documento que tengo, no se si para traer varios datos de una tabla solo puedo usar el IN. Al darle ORDER BY numero_documento, le estoy diciendo que me traiga los datos en el orden que le estoy dando dentro de los paréntesis de la consulta? porque la consulta me trae los resultados bien pero necesito que me los deje en el orden que estan dentro del parentesis....gracias de nuevo
  #6 (permalink)  
Antiguo 11/11/2015, 12:56
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Respuesta: El resultado de la consulta SQL sale en desorden

¿Disculpa pero no tenes un profesor que te explique? ¿No podes buscar bibliografía o internet eso que es lo básico de SQL?

El IN es simplemente un reemplazo del OR para hacer una sola línea, lo que tendrías que hacer repetitivamente con el OR.

El ORDER BY es para decirle orden en que necesitas sean desplegados los datos.

Resumiendo, el IN es para filtrar lo que necesitas y el ORDER BY es para mostrar el resultado del filtro realizado en el orden que necesitas.

Si queres que sea ordenado por varios campos, simplemente tenes que colocarlo en el ORDER BY separados por coma.

No quiero ser rudo, pero es molesto que te ayuden y no te tomes ni un ratito muy corto para investigar lo obvio que te apuesto lo tenes en tus apuntes o cualquier libro o consulta en internet sobre SQL.
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #7 (permalink)  
Antiguo 11/11/2015, 13:17
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: El resultado de la consulta SQL sale en desorden

Además de lo dicho por BrujoNic, puedo decirte que si, existe forma de hacerlo, pero la forma varía con el DBMS usado.
En cada uno: Oracle, SQL Server, MySQL, PostgreSQL, DB2, etc, se hace de modo distinto y con diferentes funciones.
Tendrás que ser más específico respecto a lo que usas, y la sugerencia de BrujoNic es correcta... ¿El profesor no te da soporte a estos temas?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #8 (permalink)  
Antiguo 12/11/2015, 08:22
 
Fecha de Ingreso: julio-2013
Ubicación: Colombia
Mensajes: 11
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: El resultado de la consulta SQL sale en desorden

Si, tienen razón puedo buscar en Google pero acudí al foro ya que no solo estaba sacando este reporte sino otros no a nivel de BD pero mediante interfaz y haciendo consolidados de cuenta de cobro para entrega inmediata, se que me he olvidado de muchos aspectos que tienen relación a consultas SQL pero pues por el estrés de entregar rápido no asimilaba bien la información que me suministraban ustedes, de igual forma ya pude sacar esta y otra información que necesitaba. A la consulta solo era indicarle ORDER BY IDE_PAC y en el where relación tabla/campo(documentos) y listo!!

Voy a repasar estos temas, de igual forma agradezco su paciencia y hasta la próxima.

Etiquetas: resultado, sql
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 05:44.