Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/07/2009, 13:32
Twonex
 
Fecha de Ingreso: julio-2009
Ubicación: .mysql_error ( XD )
Mensajes: 554
Antigüedad: 14 años, 9 meses
Puntos: 13
Cómo unir LEFT JOIN con RIGHT JOIN

Estimados, tengo 2 tablas con campos letras y cantidad
en la tabla1 tengo a A, B, C, D, F
y en la tabla2 tengo A, C, D, E

cada letra con un valor (cantidad)

ejemplo:

A = 5
B = 9
etc...

ahora quiero hacer una consulta de la cantidad total que tengo en cada letra, pero en tablas distintas y que me muestre el null en ambos lados.

este es el codigo que tengo:

Cita:
SELECT t1.letras, sum(t1.suma) AS 'Tabla 1', sum(t2.suma) AS 'Tabla 2'
FROM (
SELECT letras, sum(cantidad) suma
FROM tabla1 GROUP BY letras
) t1

LEFT JOIN (
SELECT letras, sum(cantidad) suma
FROM tabla2
GROUP BY letras
) t2 ON t1.letras = t2.letras

GROUP BY t1.letras
y me da esto:

//i30.tinypic.com/2dr6z4l.jpg
(agregar ustedes http: porque si no me dice SPAM ¬¬)

como ven en la tabla 1 no me muestra el null de E
y si cambio el LEFT por RIGHT me lo mostraria, pero dejaria de mostrar el null de B en la tabla 2

entonces lo que yo quiero es que me muestre todos los null, de las 2 tablas.
Cómo le hago para hacer eso? lamentablemente MySQL no soporta FULL OUTER JOIN

saludos