Mostrar registros con un parámetro y agruparlos

Gracias por la ayuda en el otro caso al final utilice un top, pero necesito que me apoyes experto, tengo un script en el cual tengo que mostrar los registros agrupados por agencia, por producto, y por moneda segun la cantidad que yo ingrese esa sera la cantidad que debe de mostrar por agencia, producto, moneda mpor ejemplo si ingreso 10, debera de mostrarme 10 registros por la agencia01, agencia06, agencia05, el script de abajo es lo que tengo, si te daras cuenta el cod_agencia lo he capturado en un array al igual que el produto pero si ejecuto la sentencia tal como esta solo me va a tomar la primera agencia y no las demas.
select top @variable, *
from tabla
where cod_agencia in ('01','06','05')
And cod_producto in ('02','04','06')
And cod_moneda like '%'

1 Respuesta

Respuesta
Efectivamente como comentas no creo que se pueda hacer así como estas estrucurando la consulta, solo te regresaría los POR primeros registros de la consulta que si están ordenados por agencia serian solo los de la primera agencia.
¿Estas utilizando alguna otra herramienta de programación para mostrar estos resultados? ¿Si es así por que no lo hacer por medio de programación? Realizas la consulta con la primer agencia y guardas los registros en un dataset o datatable (o su equivalente en algún otro lenguaje .net) realizas la otra consulta con la agencia 2 y agregas esos resultados en el mismo dataset y así sucesivamente esto al final te dará el resultado que buscas.
O creas una tabla temporal donde vayas insertando los resultados de las consultas:
insert into TablaTemporal Values(agencia,producto,moneda) where cod_agencia = '01' and cod_producto ='02' and cod_moneda like...
Y al final realizas ya el Select * from TablaTemporal.
Hola experto he utilizado otro datawindows en power builder es como dataset, donde he almacenado los registros por agencia y por producto en un array y esta excelente, pero tengo un problema ahora es que en el código de moneda solo existe 1=nacional y 2=dolar al momento que le paso el parámetro el cod_moneda = '%', entonces según este script:
select top 20 cod_moneda,cod_producto,saldo, *  from tabla where agencia = '01' and cod_producto = '01' and cod_moneda like '%' order by cod_moneda,saldo desc
solo me muestra los soles y no los dolares porque primero los esta ordenando por cod_moneda y luego por saldo pero me sale 4 primeros el soles,5 siguientes en dolares etc, y como te daras cuenta esta desordenado y quiero que los agrupe bien osea en un bloque los soles y en otro los dolares pero cuando uso top primero busca los soles y luego los dolares y el parametro q le mando es '%'  creo que seria mejor hacer primero que grabe en una tabal temporal solo soles y luego que paso con los dolares pèro no se como hacerlo me puedes dar un ejemplo de como seria gracias
Hice algunas pruebas con una consulta parecida a la que manejas tu y si me ordena los datos, se me hace raro que te salgan desordenados.
Pero para hacer las tablas temporales puedes hacer esto:
insert  into TempNacional (cod_moneda,cod_producto,saldo) select top10 Cod_monedas,cod_producto,saldo from  tabla where agencia='01' and cod_producto='01' and cod_moneda=2
igual para la moneda nacional
ya despues haces una consulta con uno inner join donde agencia, cod_producto y sea igual.
No pude probar esto ultimo pero espero te funcione

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas