Hernán, Gracias por tu ayuda, pero creo que no es lo que busco:  Si agrupo por 
cod_factura,
cod_artic, no sigo teniendo la misma tabla que al principio ?   Y como hacés 
para el caso en que dos artículos tienen igual cantidad y esta es la máxima, 
para que te uqede uno solo  de ellos  ? 

Muchas gracias para todos.
Ricardo.


Subject: [dbms] Ayuda para resolver una query
Date: Tue, 20 May 2008 16:22:09 -0300
From: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]



















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







_________________________________________________________________
Descargá ya gratis y viví la experiencia Windows Live.
http://www.descubrewindowslive.com/latam/index.html

Responder a