Buenas! Hace un select, agrupa por cod_factura, cod_artic y trae le 
max(cantidad)

 

________________________________

De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Ricardo Crespini
Enviado el: Martes, 20 de Mayo de 2008 4:23 p.m.
Para: Hernán Zaldívar
Asunto: [dbms] Ayuda para resolver una query

 


Estimados listeros, les pido si me pueden ayudar a resolver esta query, en la 
medida de lo que fuera posible, con T-SQL y sin usar a los cursores de servidor.

Tengo una tabla de items de facturas. Supongamos que solo tiene las 3 columnas 
que me interesan para la query:  1) Cod. de factura  2) cod. de articulo y 3) 
cantidad.   En esta tabla,   la PK es  codigos de  factura + codigo de 
articulo.   

Necesito obtener una sola fila por cada una de las facturas,  que también tenga 
3 columnas: 

1) Codigo de factura.
2) Codigo del articulo que tiene la mayor cantidad de unidades vendidas.
3) La cantidad que corresponde al articulo con la mayor cantidad de unidades 
vendidas.

Si llegara a haber una factura que tenga dos o mas articulos con la misma 
cantidad maxima vendida, tengo que tomar uno cualquiera de ellos, no importa 
cual, pero NO PUEDO informar dos veces la misma factura.

Para aclarar, les pongo un ejemplo

create table dbo.item_facturas ( cod_factura char(10)  , cod_artic char(10), 
cantidad int)

insert dbo.item_facturas values ( 'FAC001', 'ART020' , 5 )
insert dbo.item_facturas values ( 'FAC001', 'ART022' , 4 )
insert dbo.item_facturas values ( 'FAC002', 'ART122' , 12 )
insert dbo.item_facturas values ( 'FAC003', 'ART122' , 10 )
insert dbo.item_facturas values ( 'FAC003', 'ART121' , 15 )
insert dbo.item_facturas values ( 'FAC003', 'ART020' , 15 )


El resultado tendrá que tener 3 filas, que pueden ser

'FAC001', 'ART020' , 5 
'FAC002', 'ART122' , 12 
'FAC003', 'ART020' , 15 

o también estaría OK de la siguiente manera: 

'FAC001', 'ART020' , 5 
'FAC002', 'ART122' , 12 
'FAC003', 'ART121' , 15 

Desde ya, muchas gracias para todos !

Ricardo.







________________________________

Descargá GRATIS el poder del nuevo Internet Explorer 7. Internet Explorer 7 
<http://optimized.msn.com/Default.aspx?mkt=es-ar> 

Responder a