Bases de Datos > MS Access

 Sql Que No Ordene Los Datos

(1/4) > >>

UserCode:
hola buenas a todos y todas

No sé si se le ha presentado el caso a alguien pero tengo una SQL que me trae unos datos sin problemas, pero me los trae en orden alfabetico y necesito que sea por orden de ingreso, validarlo por campo Fecha no sirve ya que puede ser 10 o 20 registros por la misma fecha, y la tabla No tiene campo ID único.

Esta es la SQL:

--- Código: Text --- SELECT A.Asunto AS ASUNTO, COUNT(A.Asunto) AS N_DE_REGISTROS, SUM(A.Cant) AS CANT FROM DISTMASIVA_GESTCALIDAD_DETALLE AS A, TB_REPORTE AS REP WHERE A.CodRegion = REP.CodRegion And      A.IDSucursal = REP.IDSucursal And     (A.Asunto="Sobres Entregados" Or A.Asunto="Sobres Devueltos" Or A.Asunto="Entregas Verificadas" Or A.Asunto="Entregas Realizadas Correctamente" Or A.Asunto="Mala Atencion - Queja del Cliente" Or A.Asunto="No Identifico al Destinatario" Or A.Asunto="Entrego Sobre Abierto y sin Cubierta Plastica" Or A.Asunto="Acuse de Recibido llenado por el Distribuidor" Or A.Asunto="Devoluciones Verificadas" Or A.Asunto="A" Or A.Asunto="B" Or A.Asunto="C" Or A.Asunto="D" Or A.Asunto="E" Or A.Asunto="F") And A.TipoGestion=2 And A.Fecha>=REP.Fecha1 And A.Fecha<=REP.Fecha2 GROUP BY A.Asunto;  
Quise ver si podía quitar o cambiar el GROUP BY A.Asunto por uno de Fecha pero igual debe estar el campo Asunto para que la estructura de la SQL funcione, ya que es el campo protagonico en esto, pero el orden como trae los datos no me sirve.

El ingreso es este:

--- Citar ---Sobres Entregados
Sobres Devueltos
Entregas Verificadas
Entregas Realizadas Correctamente
Mala Atencion - Queja del Cliente
No Identifico al Destinatario
Entrego Sobre Abierto y sin Cubierta Plastica
Acuse de Recibo llenado por el Distribuidor
Devoluciones Verificadas
A
B
C
D
E
F

--- Fin de la cita ---

Pero la SQL me los trae asi:

--- Citar ---A
B
C
D
Devoluciones Verificadas
E
Entregas Realizadas Correctamente
Entrego Sobre Abierto y sin Cubierta Plastica
F
Mala Atencion - Queja del Cliente
No Identifico al Destinatario
Sobres Devueltos
Sobres Entregados

--- Fin de la cita ---

Simpre he usado SQLs sencillas y cortas y es hora que llevo un corto tiempo haciendo SQLs algo más relacionales y no sé si exista alguna clausula o indicación en sentencias SQL que permita corregir esto, lo que he buscado y leido hasta el momento no me ha direccionado a la solución buscada.

 :unsure:

lencho:
Si es que A.CodRegion y A.IDSucursal son de tipo identidad, podrias incluirlos en tu SELECT y al final ordenarlos por A.CodRegion y A.IDSucursal.
Ya que iria asi:

--- Código: Text --- A.CodRegion        A.IDSucursal        1                         1         1                         2          1                         3          1                         4         2                         1         2                         2        2                         3         3                         1        3                         2        3                         3  BYTE.

UserCode:
:(  Tampoco puedo porque CodRegion e IDSucursal son iguales tambien, porque el programa que conecta a esta BD debe gestionar distintas regiones del país y el campo IDSucursal es un abreviativo de la Sucursal

Ejemplo:

--- Citar ---REGION             CodRegion
Capital                      1
Centro                      2
Oriente                     3
Occidente                 4
Zulia-Occidente         5

--- Fin de la cita ---

Cada Region tiene 8 o más Sucursales, en cada ciudad o más de una en una ciudad

Entonces si el programa que trabaja con esta BD y sus SQL se usa en, una region, siempre sería bajo esa Sucursal

Ejemplo:
IDSucursal = MBO
IDSucursal = MDA
IDSucursal = COJ

Son abreviaciones de la Ciudad en donde está la Sucursal u Oficina.
Entonces todos estos registros que se trae la SQL son de la misma region, y de la misma oficina, es decir, todos los registros tienen CodRegion=5 y IDSucursal=MBO

Esto está así porque en una misma Tabla se meten los registros de todas las sucursales de cada region, y por SQLs y código se filtra la información por parámetros, o lo que yo llamaría, campos que ayudan a identificar a qué Region y a qué Sucursal pertenece cada Registro, además de su ID único, claro.  No me servia hacer Tablas pr Sucursal o por Region porque las Sucursales son algo que se Eliminan o se Crean nuevas, y las Regiones, bueno siempre son y seguirán las de siempre.

¿será que le agrego un campo más a la tabla, pero que sea un campo contador? tal vez podría servir porque no hay datos únicos entre registros que permitan ordenarlo  :unsure:

lencho:

--- Citar ---¿será que le agrego un campo más a la tabla, pero que sea un campo contador?
--- Fin de la cita ---
Esa es la primer solucion que se le viene a uno en mente, pero deberia ser la ultima que se toma  :D  :D  :D  :D  :D .
Hay que pensar en otra solucion, y si no hay, entonces sirve esa solucion.

BYTE.

UserCode:
si tengo que pensar en otra porque ahora que lo veo, el contador tampoco me sirve  :nosweat:

ojala exista algo en sql que permita ordenar por longitud de string o algo asi porque sino, pues tendre que aprender a hacer hasta magia  :D  hehehe

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa