Ver Mensaje Individual
  #3 (permalink)  
Antiguo 21/03/2008, 19:10
Avatar de ElJavista
ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Re: Consulta condicional en mysql

A ver, sería de este modo:

select cl.nombre from clientes cl inner join facturas fa on cl.id = fa.cliente where cl.total1 + cl.total2 <= fa.total

Te explico: En primer lugar si tienes dos tablas relacionadas, obviamente debe haber un índice foráneo, asumo que ese indice foráneo es el campo cliente de la tabla facturas, ahora bien, esta consulta usa la sentencia INNER JOIN la cual se encarga de hacer una consulta que tenga una relación. También usa alias para simplificar las cosas. Bien, primero selecciono el campo nombre de la tabla clientes, si te das cuenta la tabla clientes fue reemplazada por "cl", eso se ve en la sentencia "clientes cl", obviamente puedes seleccionar más campos de ambas tablas. Despues hago el from, ahi es que defino los alias y la relación que existe entre ambas tablas. Primero pongo una tabla, en este caso la tabla clientes a la cual le he dado el alias de cl, luego hago el inner join, colocando al otro lado del inner join la tabla facturas a la cual le doy el alias de fa, luego pongo la sentecia on y despues expreso la relación que existe entre ambas tablas, que el índice principal de la tabla clientes (id) es igual al índice foráneo de la tabla factura (fa). Y después la condición usando la sentencia where. La condición puede tomar campos de ambas tablas, no habría problema.

Si la estructura de tus tablas no cuenta con un índice foráneo pues debes ponerlo y si estás en el nivel que necesitas hacer este tipo de consultas sería bueno que empieces a estudiar metódicamente el SQL.