Ver Mensaje Individual
  #5 (permalink)  
Antiguo 08/08/2013, 05:23
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Como sumar el ultimo registro de tres tablas...

Primero deberías aclarar que es lo que quieres hacer.... sumar números o concatenar cadenas.

Segundo deberías decir que registro consideras el último, el que tenga la fecha más alta o el que tenga el identificador más alto, des del punto de vista de la bbdd el último registro entrado es el que tiene el identificador más alto, pero podría tener una fecha muy antigua.

Si quieres la fecha mas alta
...order by fecha desc limit 1

si quieres el ultimo registro entrado
...order by id desc limit 1

Si es sumar numeros....


Primero me plantearia cambiar el tipo de datos del campo para simplificar de VARCHAR( 2 ) a integer, o el que sea.

Código MySQL:
Ver original
  1. SELECT SUM(Sbc.valor) FROM
  2. (select p1 valor from tabla1 order by fecha desc limit 1
  3. select p2 valor from tabla2 order by fecha desc limit 1
  4. select p3 valor from tabla3 order by fecha desc limit 1) Sbc

Sin cambiar el tipo deberás usar la función CAST(campo,tipo) donde "tipo" debería ser uno de los numéricos posibles

DECIMAL[(M[,D])]
SIGNED [INTEGER]
UNSIGNED [INTEGER]

dependiendo del tipo de números que tengas almacenados. Supongamos que es un entero sin signo

Código MySQL:
Ver original
  1. SELECT SUM(Sbc.valor) FROM
  2. (select CAST(p1,UNSIGNED) valor from tabla1 order by fecha desc limit 1
  3. select CAST(p2,UNSIGNED) valor from tabla2 order by fecha desc limit 1
  4. select CAST(p3,UNSIGNED) valor from tabla3 order by fecha desc limit 1) Sbc



Si se trata de unir cadenas

Código MySQL:
Ver original
  1. (select p1 cadena from tabla1 order by fecha desc limit 1
  2. select p2 cadena from tabla2 order by fecha desc limit 1
  3. select p3 cadena from tabla3 order by fecha desc limit 1) Sbc

http://docs.oracle.com/cd/E17952_01/...n_group-concat

Creo...
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 08/08/2013 a las 05:42