Ayuda con Query

04/11/2005 - 02:04 por Isaias | Informe spam
Tiendo una Tabla de VENTAS, donde hay 3 columnas, CLIENTE, VENDEDOR, IMPORTE

CREATE TABLE VENTAS (CLIENTE INT, VENDEDOR INT, IMPORTE SMALLMONEY)
INSERT INTO VENTAS VALUES(1,1,100)
INSERT INTO VENTAS VALUES(1,1,100)
INSERT INTO VENTAS VALUES(1,2,100)
INSERT INTO VENTAS VALUES(1,3,100)
INSERT INTO VENTAS VALUES(1,3,100)
INSERT INTO VENTAS VALUES(1,4,100)
INSERT INTO VENTAS VALUES(1,5,1000)
INSERT INTO VENTAS VALUES(2,1,100)
INSERT INTO VENTAS VALUES(2,1,100)
INSERT INTO VENTAS VALUES(2,2,100)
INSERT INTO VENTAS VALUES(2,3,2100)
INSERT INTO VENTAS VALUES(2,3,100)
INSERT INTO VENTAS VALUES(2,4,100)
INSERT INTO VENTAS VALUES(2,5,100)
INSERT INTO VENTAS VALUES(3,1,100)
INSERT INTO VENTAS VALUES(3,1,100)
INSERT INTO VENTAS VALUES(3,1,100)
INSERT INTO VENTAS VALUES(3,3,2100)
INSERT INTO VENTAS VALUES(3,3,100)
INSERT INTO VENTAS VALUES(3,5,100)
INSERT INTO VENTAS VALUES(3,5,100)

Deseo obtener

TOTAL DE VENTAS por CLIENTE, donde aparezca:

CLIENTE VENDEDOR (*) TOTAL

1 3 1200

En la columna VENDEDOR (*), debe aparecer el VENDEDOR que le haya vendido
mas al cliente.

Gracias.
Saludos
IIslas
 

Leer las respuestas

#1 Alejandro Mesa
04/11/2005 - 15:37 | Informe spam
Isaias,

Me inmagino que cuando dices:

En la columna VENDEDOR (*), debe aparecer el VENDEDOR que le haya vendido
mas al cliente.



sea la suma de las ventas, verdad?. Si es asi, trata:

select top 1 with ties
cliente, vendedor, sum(IMPORTE)
from
t1
group by
cliente, vendedor
order by
sum(IMPORTE) desc


select top 1 with ties
cliente, vendedor, sum(IMPORTE)
from
t1
group by
cliente, vendedor
having
sum(IMPORTE) = (
select max(sum_importe)
from (
select sum(IMPORTE) as sum_importe from t1 group by cliente, vendedor
) as t
)
go

No esta probado.

AMB

"Isaias" wrote:

Tiendo una Tabla de VENTAS, donde hay 3 columnas, CLIENTE, VENDEDOR, IMPORTE

CREATE TABLE VENTAS (CLIENTE INT, VENDEDOR INT, IMPORTE SMALLMONEY)
INSERT INTO VENTAS VALUES(1,1,100)
INSERT INTO VENTAS VALUES(1,1,100)
INSERT INTO VENTAS VALUES(1,2,100)
INSERT INTO VENTAS VALUES(1,3,100)
INSERT INTO VENTAS VALUES(1,3,100)
INSERT INTO VENTAS VALUES(1,4,100)
INSERT INTO VENTAS VALUES(1,5,1000)
INSERT INTO VENTAS VALUES(2,1,100)
INSERT INTO VENTAS VALUES(2,1,100)
INSERT INTO VENTAS VALUES(2,2,100)
INSERT INTO VENTAS VALUES(2,3,2100)
INSERT INTO VENTAS VALUES(2,3,100)
INSERT INTO VENTAS VALUES(2,4,100)
INSERT INTO VENTAS VALUES(2,5,100)
INSERT INTO VENTAS VALUES(3,1,100)
INSERT INTO VENTAS VALUES(3,1,100)
INSERT INTO VENTAS VALUES(3,1,100)
INSERT INTO VENTAS VALUES(3,3,2100)
INSERT INTO VENTAS VALUES(3,3,100)
INSERT INTO VENTAS VALUES(3,5,100)
INSERT INTO VENTAS VALUES(3,5,100)

Deseo obtener

TOTAL DE VENTAS por CLIENTE, donde aparezca:

CLIENTE VENDEDOR (*) TOTAL

1 3 1200

En la columna VENDEDOR (*), debe aparecer el VENDEDOR que le haya vendido
mas al cliente.

Gracias.
Saludos
IIslas

Preguntas similares