Unir datos de 3 tablas

Tengo 3 tablas con dos campos en cada una de ellas. Un campo es CLIENTE y el otro es el correspondiente GASTO de ese mes.
TABLA_MES1
Clientegasto_MES1
Cliente110
Cliente215
TABLA_MES2
Clientegasto_mes2
Cliente2  20
TABLA_MES3
Clientegasto_mes3
Cliente130
Cliente235
Cliente330
Necesito obtener una Consulta con el resultado siguiente:
Clientegasto_mes_1gasto_mes2gastos_mes3
Cliente11030
Cliente2152035
Cliente330

1 Respuesta

Respuesta
1
Sencillo es así
select tabla1.cliente, tabla1.gasto_mes1, tabla2.gasto_mes2, tabla3.gasto_mes3
from tabla1, tabla2, tabla3
where tabla1.cliente=tabla2.cliente and tabla1.cliente=tabla3.cliente
Donde tabla es el nombre de tus tablas
Gracias por tu respuesta, pero el resultado que me sale es una consulta con los 4 campos que necesito pero sin ningún registro
Si no sale nada es por que los datos de cliente son diferentes en las tablas, por lo tanto no hay coincidencia.
Disculpa, había metido mal los datos. Los rectifique y el resultado que obtengo son los gastos del cliente que tiene gasto en los 3 meses ( en mi caso el Cliente2 ), de los otros dos clientes, que tienen gasto en tan solo 2 de los 3 meses, no me sale nada.
Tal vez el texto del ejemplo se preste a confusión, ya que salieron una serie de caracteres que dificultan su lectura.
Te lo reproduzco de nuevo, espero que ahora se pueda leer mejor
tabla1
CLIENTE GASTO_MES1
Cliente1         10
Cliente2         15
TABLA2
CLIENTE   GASTO_MES2
Cliente2         20
TABLA3
CLIENTE   GASTO_MES3
Cliente1        30
Cliente2        35
Cliente3        30
Y el resultado que necesito obtener es:
CLIENTE  GASTOS_MES1  GASTO_MES2  GASTO_MES3
Cliente1         10                                            30 
Cliente2         15                     20                   35  
Cliente3                                                         30
El resultado que obtengo con tu consulta es:
CLIENTE  GASTOS_MES1  GASTO_MES2  GASTO_MES3
Cliente2         15                     20                   35
De nuevo muchísimas gracias por tu respuesta.
marca54
Ok, entonces si necesitas todos los clientes aun cuando no estén en las tablas la consulta seria así:
select tabla1.cliente, tabla1.gasto_mes1, tabla2.gasto_mes2, tabla3.gasto_mes3
from tabla1 LEFT JOIN  tabla2 ON (tabla1.cliente=tabla2.cliente) LEFT JOIN tabla3 ON (tabla1.cliente=tabla3.cliente)
Ahora me da el siguiente error:
Error de sintaxis (falta operador) en la expresión de consulta (tabla1. cliente=tabla2. cliente) LEFT JOIN tabla3 ON (tabla1. cliente=tabla3. Cliente)
Gracias por tu prontitud en la respuesta.
Bien, pero observo que la consulta tan solo me pone los gastos de los clientes que tengan gastos en la primera de las tablas. Estoy pensando que para salgan todos los clientes podía hacer previamente una consulta que me diese todo los clientes y luego utilizar la solución que me propones.
Gracias una vez más y perdona la "lata" que estoy dando.
Me parece bien lo que propones.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas