Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

GROUP BY con MAX que devuelva todas las columnas

Estas en el tema de GROUP BY con MAX que devuelva todas las columnas en el foro de SQL Server en Foros del Web. Hola, soy nuevo en sql server, tengo 2 tablas clientes (codcli , nomcli) y facturas (codfac, datfac, monfac, codcli) tengo q hacer una consulta que ...
  #1 (permalink)  
Antiguo 02/05/2007, 23:17
 
Fecha de Ingreso: diciembre-2004
Mensajes: 49
Antigüedad: 19 años, 11 meses
Puntos: 0
GROUP BY con MAX que devuelva todas las columnas

Hola, soy nuevo en sql server,
tengo 2 tablas clientes (codcli , nomcli) y facturas (codfac, datfac, monfac, codcli)

tengo q hacer una consulta que devuelva los datos de la ULTIMA factura de cada cliente,

lo q hice es esto:

SELECT MAX(facturas.datfac) AS ULTIMAS, clientes.nomcli
FROM dbo.facturas INNER JOIN
dbo.clientes ON facturas.codcli = clientes.codcli
GROUP BY clientes.nomcli


y anda bien, pero no puedo hacer q devuelva codfac ni monfac.

si alguien sabe como porfavor me ayude q mañana tengo un examen!!
  #2 (permalink)  
Antiguo 03/05/2007, 11:11
 
Fecha de Ingreso: febrero-2007
Mensajes: 182
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: GROUP BY con MAX que devuelva todas las columnas

tengo exactamente un error muy parecido, asi que me sumo a tu duda
Martin Incor
  #3 (permalink)  
Antiguo 15/05/2007, 11:06
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años, 6 meses
Puntos: 25
Re: GROUP BY con MAX que devuelva todas las columnas

Se me ocurre algo como (asumo que codfac es el # de factura):
Código:
SELECT c.nomcli, f.codfac, f.datfac, f.monfac
FROM dbo.clientes c
INNER JOIN dbo.facturas f
	ON c.codcli = f.codcli
WHERE f.codfac IN (
	SELECT MAX(codfac)
	FROM facturas
	GROUP BY codcli
)
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 13:56.