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
