Hola q tal, pues aqi ando buscando hacer una consulta que me devuelva la cantidad más peqeña...
Tengo una lista de 'crédito', donde se almacenan todos los abonos que va haciendo hasta dejar el saldo en cero, ahora bien, necesito mostrar de entrada sólo el registro con la cantidad de saldo más peqeña... mis pruebas las he hecho con MIN, i en algunos casos no me funciona... por ejemplo:
Código:
SELECT estado, id_paciente, id_detalle_venta, saldo
FROM creditos
WHERE (id_cliente = 2) AND (creditos.estado LIKE N'%adeuda%')
order by id_detalle_venta
SELECT estado, id_paciente, id_detalle_venta, MIN(saldo) AS Expr1
FROM creditos
WHERE (id_cliente = 2) AND (creditos.estado LIKE N'%adeuda%')
GROUP BY estado, id_paciente, id_detalle_venta
order by id_detalle_venta
Genera:
estado idpaciente venta saldo
adeuda - 8 - 264 - 55.50
adeuda - 8 - 264 - 35.50
estado idpaciente venta saldo
adeuda - 8 - 264 - 35.50
Pero al qerer recuperar con toda la info que requiero:
Código:
SELECT DISTINCT
datos_personales_paciente.nombre + ' ' + datos_personales_paciente.ap_paterno + ' ' + datos_personales_paciente.ap_materno AS Nombre,
datos_personales_paciente.sexo AS Sexo, datos_personales_paciente.fecha_nac AS [Fecha de Nacimiento], datos_personales_paciente.id_paciente AS ID,
creditos.id_detalle_venta, min(creditos.saldo) as Saldo
FROM datos_personales_paciente INNER JOIN
clientes ON datos_personales_paciente.id_cliente = clientes.id_cliente INNER JOIN
creditos ON datos_personales_paciente.id_paciente = creditos.id_paciente AND clientes.id_cliente = creditos.id_cliente
WHERE (datos_personales_paciente.nombre NOT LIKE N'%*%') AND (clientes.id_cliente = 6) AND (creditos.estado LIKE N'%adeuda%')
GROUP BY datos_personales_paciente.nombre + ' ' + datos_personales_paciente.ap_paterno + ' ' + datos_personales_paciente.ap_materno, datos_personales_paciente.sexo,
datos_personales_paciente.fecha_nac, datos_personales_paciente.id_paciente, creditos.id_detalle_venta, creditos.saldo
Me resulta esto:
Nuevo - M - 2010-03-16 - 8 - 264 - 35.50
Nuevo - M - 2010-03-16 - 8 - 264 - 55.50
Yyyy sólo debería mostrar el de 35.50 no?
Alguna idea? GRacias de antemano!