Cita: Pero el resultado esperado es el siguiente:
20110601
20110701
20110801
20110901
20111001 20700
20111101 20700
20111201 8400
20120101 8400
20120201 8400
20120301 8400
Pues ese resultado es imposible en el contexto de los datos que tienes.
Dadas las condiciones del LEFT JOIN y del WHERE (y no veo como puedes tener un -1 en ese campo):
Código SQL:
Ver originalSELECT a.sk_dim_time,MAX(b.trqt_acum)
FROM fact_cost A LEFT JOIN FACT_STOCK_ACUM_TEMP_MONTH B
ON A.sk_dim_time = B.sk_dim_time
WHERE A.sk_dim_time <> -1
GROUP BY a.sk_dim_time
ORDER BY a.sk_dim_time
sólo tienes dos registros en que ambas tablas coinciden, y son los que te devuelve. En el resto, al no haber coincidencias, devuelve nulos.
¿Tienes claro que un LEFT JOIN devuelve NULL en la segunda tabla, cuando no hay coincidencias?