У меня есть две таблицы, где поле ID может совпадать или не совпадать, я хочу объединить две таблицы. Моя лучшая попытка не возвращает пропущенное значение.
SELECT *
FROM (
SELECT matricula,SUM(monto) as 'pagosTotales' FROM referenciasdepago WHERE matricula IN('PM0000','PM0001') GROUP BY matricula
) AS A
INNER JOIN (
SELECT matricula, SUM(anual) as 'importeTotal' FROM documentos WHERE matricula IN ('PM0000','PM0001') GROUP BY matricula
) AS B ON A.matricula=B.matricula;
После "WHERE matricula IN" может фактически содержаться более 50 различных значений.
Это мой нежелательный результат:
+-----------+--------------+-----------+--------------+
| matricula | pagosTotales | matricula | importeTotal |
+-----------+--------------+-----------+--------------+
| PM0000 | 1485 | PM0000 | 16030 |
+-----------+--------------+-----------+--------------+
Это еще один нежелательный результат:
+-----------+--------------+-----------+--------------+
| matricula | pagosTotales | matricula | importeTotal |
+-----------+--------------+-----------+--------------+
| PM0000 | 1485 | PM0000 | 16030 |
| PM0000 | 1485 | PM0001 | 50 |
+-----------+--------------+-----------+--------------+
Поскольку отсутствует PM0001, где он существует в таблице A.