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

Consulta sql y group by

Estas en el tema de Consulta sql y group by en el foro de SQL Server en Foros del Web. Q tal, me acabo de unir al foro XD. Tengo un problema, quiero sacar de una tabla 4 campos... idVenta, idCredito, monto y saldo... claro ...
  #1 (permalink)  
Antiguo 11/02/2010, 13:46
 
Fecha de Ingreso: febrero-2010
Mensajes: 37
Antigüedad: 14 años, 2 meses
Puntos: 0
Pregunta Consulta sql y group by

Q tal, me acabo de unir al foro XD.
Tengo un problema, quiero sacar de una tabla 4 campos... idVenta, idCredito, monto y saldo... claro que hai más campos...
Pero debo sacar los registros de menor saldo de un idVenta... esto es... hay clientes q compran y aveces lo hacen a credito, esto es, una venta con varios idCredito (sus pagos que realizan) su monto total (por flojera de calcular) y el saldo (la resta de saldo y abono)....
Los datos son como estos:

idVenta - idCredito - monto - Saldo
39 - 3 - 74.92 - 74.92
39 - 4 - 74.92 - 64.92
39 - 7 - 74.92 - 54.00
40 - 5 - 200.00 - 200.00
41 - 6 - 148.50 - 148.50
41 - 8 - 200.00 - 180.00

Tengo esta consulta:
Código:
SELECT  creditos.id_detalle_venta AS Venta, min(creditos.saldo) AS Saldo 
FROM         creditos 
GROUP BY creditos.id_detalle_venta
Devuelve esto:
39 - 54.00
40 - 200.00
41 - 148.50

Está bien, pero me hacen falta los demás campos, si los agrego, debo de ponerlos en el group by y el resultado es diferente, me imagine una subconsulta, pero como devuelve dos campos, no se realiza correctamente:
Código:
SELECT  creditos.id_detalle_venta AS Venta, creditos.id_credito AS Crédito, creditos.monto AS Total 
FROM         creditos
Where creditos.id_detalle_venta in 
(SELECT  creditos.id_detalle_venta, min(creditos.saldo) AS Saldo 
FROM         creditos 
GROUP BY creditos.id_detalle_venta)
Espero me haya explicado y me puedan ayudar.
Saludos!
  #2 (permalink)  
Antiguo 11/02/2010, 14:01
 
Fecha de Ingreso: febrero-2010
Mensajes: 37
Antigüedad: 14 años, 2 meses
Puntos: 0
De acuerdo ya esta!!

Lo encontré....
Código:
SELECT  creditos.id_detalle_venta AS Venta, creditos.id_credito AS Crédito, creditos.monto AS Total, creditos.saldo as Saldo
FROM         creditos
Where creditos.saldo in 
(SELECT  min(creditos.saldo) AS Saldo 
FROM         creditos 
GROUP BY creditos.id_detalle_venta)
  #3 (permalink)  
Antiguo 11/02/2010, 19:35
 
Fecha de Ingreso: febrero-2010
Mensajes: 37
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Consulta sql y group by

SELECT min(creditos.saldo) AS Saldo
FROM creditos
GROUP BY creditos.id_detalle_venta)
Alguna idea para hacerla bien?
Con esta subconsulta, si otra venta tiene el mismo saldo, se repetiría.
Esta tabla de creditos, tiene todos los abonos a una venta que hizo un cliente, si entro a ver el historial de un paciente, quiero q primero muestre idVenta - idCredito - monto - Saldo, pero no todos los pagos, solo el último pago.
En este tema hay algo, pero está en mysql....
http://www.forosdelweb.com/f86/seleccionar-registro-con-mayor-valor-campo-653211/
Y como soy nuevo no puedo enviar mensajes privados...
Saludos y gracias!

Última edición por lestatAb; 12/02/2010 a las 13:40 Razón: ayuda!, más info
  #4 (permalink)  
Antiguo 12/02/2010, 14:05
 
Fecha de Ingreso: febrero-2010
Mensajes: 37
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Consulta sql y group by

Lo ideal sería algo como esto:
Código:
SELECT     creditos.id_detalle_venta AS Venta, creditos.id_credito AS Crédito, creditos.monto AS Total, min(creditos.saldo) as Saldo
FROM         creditos
GROUP BY creditos.id_detalle_venta
but... obviously... no se puede!!
  #5 (permalink)  
Antiguo 14/02/2010, 22:07
 
Fecha de Ingreso: enero-2010
Ubicación: SJM Lima - Peru
Mensajes: 55
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Consulta sql y group by

Esta Bueno tu where in select pero tambien existiria otra opcion y es la de usar CREATE function xxxx con los parametros necesarios te saldria una buena combinacion de tu group by y tus functions en lo particular yo los combinaria. aqui esta mi correo [email protected] Lima-Peru

Etiquetas: group, sql
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




La zona horaria es GMT -6. Ahora son las 06:38.