Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/01/2006, 20:14
chiwuan
 
Fecha de Ingreso: mayo-2004
Mensajes: 24
Antigüedad: 20 años
Puntos: 0
Consulta para tarifas telefónicas

Hola a todos,

Escribo porque necesito pensar en como hacer una consulta que me regrese el costo por minuto de una llamada telefónica a partir de dos tablas que tengo: una con el registro de llamadas hechas y otra con el registro de costos por código telefónico.

Como ejemplo:

Tabla: tarifas
Codigo | Costo
--------------------
052 | 1.00
052777| .85

Tabla: llamadas
Fecha | Numero
--------------------
01/01/06 | 0527771234567


Ahora bien, originalmente mi query iba así:

SELECT fecha, numero, costo FROM llamadas INNER JOIN
(SELECT codigo, costo FROM tarifas) AS Sub1 ON numero like CONCAT(Sub1.codigo,"%")
ORDER BY fecha DESC;

El problema viene que en mi tabla de tarifas, el código 052 debe ser general, de modo que seria como una "excepción" en caso de que no haya ningún otro código más específico (como el 052777). Esto ocasiona que así como está mi query, me aparezcan 2 costos diferentes por cada llamada, uno con el costo de 1.00 y otro con el costo de 0.85, dado que la llamada hecha a 0527771234567 cumple tanto con 052% como con 052777%

Lo que quisiera es que los valores solo aparecieran a lo mucho 1 vez, tomando el costo más bajo que se encuentre (en este caso, seria con el codigo 052777)

¿Es posible hacer esto con SQL?

Gracias y saludos,