Consulta agrupada

07/12/2004 - 22:37 por heberxl | Informe spam
HOla amigos tengo una pequeña duda con esta consulta:

select prescodigo, nroprestamo = min(nroprestamo), 'Fecha de Primer
Préstamo' = min(fecha_inicio) from prestamo group by prescodigo order by
prescodigo

Con esta consulta he logrado sacar la fecha del primer préstamo de cada
cliente, de tal modo que pueda luego sacar cuantos clientes nuevos
hubieron en cada mes. El problema es que cuando quiero saber que además de
todo eso me diga quien fue el vendedor de esa primera venta

select prescodigo, nroprestamo = min(nroprestamo), 'Fecha de Primer
Préstamo' = min(fecha_inicio), codVendedor from prestamo group by
prescodigo order by prescodigo


me sale un error indicándome que el campo Vendedor no está contenido en
una función de agregado ni group by, cómo puedo solucionar eso?

gracias de antemano.

Preguntas similare

Leer las respuestas

#1 Isaias
07/12/2004 - 23:18 | Informe spam
select prescodigo, codVendedor,nroprestamo = min
(nroprestamo), 'Fecha de Primer
Préstamo' = min(fecha_inicio) from prestamo group by
prescodigo, codVendedor order by prescodigo
Respuesta Responder a este mensaje
#2 MAXI
07/12/2004 - 23:34 | Informe spam
Hola, te comento: un agregate como el que estas usando necesita que pongas
los campos en el Group by, en tu caso si haces esto no obtendras el
resultado que quieres ya que agrupara por vendedor :(

Entonces, solucion a esto podria ser una consulta con la siguiente
extructura:

select prescodigo, fecha_inicio,codvendedor FROM prestamo inner join (select
min(nroprestamo) as primer_prestamo,prescodigo from
prestamo group by prescodigo) t2 on

t2.prescodigo = prestamo.prescodigo



pd: tome como que prescodigo es el codigo del cliente, de no ser asi deberas
reemplazar en el select por el campo del codigo del cliente

Un abrazo y espero te sea util




Maxi

Buenos Aires - Argentina
Desarrollador .NET 3 Estrellas
Microsoft User Group (MUG)
Mail: Maxi_accotto[arroba]speedy.com.ar

Msn Messenger:

"theKidman" escribió en el mensaje
news:
HOla amigos tengo una pequeña duda con esta consulta:

select prescodigo, nroprestamo = min(nroprestamo), 'Fecha de Primer
Préstamo' = min(fecha_inicio) from prestamo group by prescodigo order by
prescodigo

Con esta consulta he logrado sacar la fecha del primer préstamo de cada
cliente, de tal modo que pueda luego sacar cuantos clientes nuevos
hubieron en cada mes. El problema es que cuando quiero saber que además de
todo eso me diga quien fue el vendedor de esa primera venta

select prescodigo, nroprestamo = min(nroprestamo), 'Fecha de Primer
Préstamo' = min(fecha_inicio), codVendedor from prestamo group by
prescodigo order by prescodigo


me sale un error indicándome que el campo Vendedor no está contenido en
una función de agregado ni group by, cómo puedo solucionar eso?

gracias de antemano.




Respuesta Responder a este mensaje
#3 Juan Sánchez
08/12/2004 - 18:40 | Informe spam
Maxi:
Creo que faltó

and t2.primer_prestamo = prestamo.nroprestamo

o me equivoco?

Slds,
Juan


"MAXI" escribió en el mensaje
news:#
Hola, te comento: un agregate como el que estas usando necesita que pongas
los campos en el Group by, en tu caso si haces esto no obtendras el
resultado que quieres ya que agrupara por vendedor :(

Entonces, solucion a esto podria ser una consulta con la siguiente
extructura:

select prescodigo, fecha_inicio,codvendedor FROM prestamo inner join


(select
min(nroprestamo) as primer_prestamo,prescodigo from
prestamo group by prescodigo) t2 on

t2.prescodigo = prestamo.prescodigo



pd: tome como que prescodigo es el codigo del cliente, de no ser asi


deberas
reemplazar en el select por el campo del codigo del cliente

Un abrazo y espero te sea util




Maxi

Buenos Aires - Argentina
Desarrollador .NET 3 Estrellas
Microsoft User Group (MUG)
Mail: Maxi_accotto[arroba]speedy.com.ar

Msn Messenger:

"theKidman" escribió en el mensaje
news:
> HOla amigos tengo una pequeña duda con esta consulta:
>
> select prescodigo, nroprestamo = min(nroprestamo), 'Fecha de Primer
> Préstamo' = min(fecha_inicio) from prestamo group by prescodigo order


by
> prescodigo
>
> Con esta consulta he logrado sacar la fecha del primer préstamo de cada
> cliente, de tal modo que pueda luego sacar cuantos clientes nuevos
> hubieron en cada mes. El problema es que cuando quiero saber que además


de
> todo eso me diga quien fue el vendedor de esa primera venta
>
> select prescodigo, nroprestamo = min(nroprestamo), 'Fecha de Primer
> Préstamo' = min(fecha_inicio), codVendedor from prestamo group by
> prescodigo order by prescodigo
>
>
> me sale un error indicándome que el campo Vendedor no está contenido en
> una función de agregado ni group by, cómo puedo solucionar eso?
>
> gracias de antemano.
>
>
>
>


Respuesta Responder a este mensaje
#4 MAXI
08/12/2004 - 18:47 | Informe spam
Hola, sip!! tienes toda la razon, se me escapo ;)




Maxi

Buenos Aires - Argentina
Desarrollador .NET 3 Estrellas
Microsoft User Group (MUG)
Mail: Maxi_accotto[arroba]speedy.com.ar

Msn Messenger:

"Juan Sánchez" escribió en el mensaje
news:
Maxi:
Creo que faltó

and t2.primer_prestamo = prestamo.nroprestamo

o me equivoco?

Slds,
Juan


"MAXI" escribió en el mensaje
news:#
Hola, te comento: un agregate como el que estas usando necesita que
pongas
los campos en el Group by, en tu caso si haces esto no obtendras el
resultado que quieres ya que agrupara por vendedor :(

Entonces, solucion a esto podria ser una consulta con la siguiente
extructura:

select prescodigo, fecha_inicio,codvendedor FROM prestamo inner join


(select
min(nroprestamo) as primer_prestamo,prescodigo from
prestamo group by prescodigo) t2 on

t2.prescodigo = prestamo.prescodigo



pd: tome como que prescodigo es el codigo del cliente, de no ser asi


deberas
reemplazar en el select por el campo del codigo del cliente

Un abrazo y espero te sea util




Maxi

Buenos Aires - Argentina
Desarrollador .NET 3 Estrellas
Microsoft User Group (MUG)
Mail: Maxi_accotto[arroba]speedy.com.ar

Msn Messenger:

"theKidman" escribió en el mensaje
news:
> HOla amigos tengo una pequeña duda con esta consulta:
>
> select prescodigo, nroprestamo = min(nroprestamo), 'Fecha de Primer
> Préstamo' = min(fecha_inicio) from prestamo group by prescodigo order


by
> prescodigo
>
> Con esta consulta he logrado sacar la fecha del primer préstamo de cada
> cliente, de tal modo que pueda luego sacar cuantos clientes nuevos
> hubieron en cada mes. El problema es que cuando quiero saber que además


de
> todo eso me diga quien fue el vendedor de esa primera venta
>
> select prescodigo, nroprestamo = min(nroprestamo), 'Fecha de Primer
> Préstamo' = min(fecha_inicio), codVendedor from prestamo group by
> prescodigo order by prescodigo
>
>
> me sale un error indicándome que el campo Vendedor no está contenido en
> una función de agregado ni group by, cómo puedo solucionar eso?
>
> gracias de antemano.
>
>
>
>






Respuesta Responder a este mensaje
#5 heberxl
08/12/2004 - 19:18 | Informe spam
Gracias a Todos, estuve cerca. Me sirvió mucho para aclararme en esto de
las subconsultas que lo tenía un poco confuso.
-
Saludos

MAXI wrote:

Hola, sip!! tienes toda la razon, se me escapo ;)
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida