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

minimo de tabla y su campo

Estas en el tema de minimo de tabla y su campo en el foro de Mysql en Foros del Web. saludos, se tiene lo siguiente tabla_consumo codprd nom_clite pago prd 1 clienteA 5 prd 1 clienteB 3 prd 2 clienteC 4 . . . . ...
  #1 (permalink)  
Antiguo 02/08/2006, 12:32
 
Fecha de Ingreso: junio-2006
Mensajes: 41
Antigüedad: 17 años, 11 meses
Puntos: 0
minimo de tabla y su campo

saludos, se tiene lo siguiente

tabla_consumo
codprd nom_clite pago
prd 1 clienteA 5
prd 1 clienteB 3
prd 2 clienteC 4
. . .
. . .
prd n cliente x n

donde codprd es codigo de producto, nom_clie es nombre del cliente

si quiero determinar en una consulta el nombre del cliente que menos pago y el monto que pago por el prd 1 seria

select nom_clite, min(pago)
from consumo
where codprd='prd1'
and nom_clite='cliente B'

el resultado de la consulta seria

nom_clite pago
cliente B 3

habrá alguna otra forma de realizar esta consulta sin necesidad de recurrir a la ultima linea, "and nom_clite=clienteB "?.

de antemano gracias

Última edición por gerriv; 02/08/2006 a las 12:44
  #2 (permalink)  
Antiguo 02/08/2006, 12:55
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
Y para que harías eso, si tanto la consulta como el resultado son correctos?
Quizá quieres lograr otro resultado.
  #3 (permalink)  
Antiguo 02/08/2006, 13:06
 
Fecha de Ingreso: junio-2006
Mensajes: 41
Antigüedad: 17 años, 11 meses
Puntos: 0
lo que ocurre es que si no especifico la ultima linea "and nom_clite='cliente B', me dara equivocadamente lo siguiente,

nom_clite: cliente A
pago: 3

y lo que se desea es que coincida con lo que este almacenado en la tabla y su debida correspondencia de acuerdo al pago minimo que realizo por el prd1, se busca que de:

nom_clite: cliente B
pago 3

ese es el resultado que se busca, alguna sugerencia?
  #4 (permalink)  
Antiguo 02/08/2006, 13:08
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
Prueba:

select nom_clite, min(pago)
from consumo
where codprd='prd1'
group by nom_clite
  #5 (permalink)  
Antiguo 02/08/2006, 13:16
 
Fecha de Ingreso: junio-2006
Mensajes: 41
Antigüedad: 17 años, 11 meses
Puntos: 0
me resulta

nom_clite
clienteA
clienteB

pago
5
3

y lo que se necesita es

nom_clite
clienteB

pago
3

alguna otra opcion?

gracias
  #6 (permalink)  
Antiguo 02/08/2006, 14:34
Avatar de PequeñoMauro  
Fecha de Ingreso: abril-2006
Ubicación: Lima - Perú
Mensajes: 600
Antigüedad: 18 años, 1 mes
Puntos: 3
select nom_clite, min(pago) as pago
from consumo
where codprd='prd1'
group by nom_clite
order by pago asc
limit 1

Saldra asi? (no lo he probado)
__________________
"Nada en mis manos traigo tan solo a tu cruz me aferro....."
  #7 (permalink)  
Antiguo 02/08/2006, 14:54
 
Fecha de Ingreso: junio-2006
Mensajes: 41
Antigüedad: 17 años, 11 meses
Puntos: 0
pequeño mauro, maldito, se me ha adelantado, al menos le pegue sin necesidad de ver el aporte, de todas formas gracias, ya que con esta opinion me aseguro que voy por buen camino.

gracias foro.

pd. tal ves pueda funcionar sin el order pero bueno, se vale.

Última edición por gerriv; 02/08/2006 a las 19:15
  #8 (permalink)  
Antiguo 02/08/2006, 15:32
 
Fecha de Ingreso: junio-2006
Mensajes: 41
Antigüedad: 17 años, 11 meses
Puntos: 0
he de reconocer que la clausula order by ES NECESARIA para no tener apuros al momento de referenciar el group by.

saludos.
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 20:23.