У меня есть таблица с 3 столбцами и этими значениями:
col1 col2 col3
-------------------
1 2 8
1 3 5
1 10 15
2 4 6
2 9 7
3 5 6
Я присоединяюсь к запросу LEFT JOIN и RIGHT JOIN для запроса группирования и подсчета для каждого номера (MS-ACCESS).
SELECT Col1 AS Num, t1.CON1, t2.CON2, t3.CON3
FROM
(((SELECT col1, COUNT(col1) AS CON1 FROM table GROUP BY col1) AS t1
LEFT JOIN (SELECT col2, COUNT(col2) AS CON2 FROM table GROUP BY col2) AS t2
ON t1.col1 = t2.col2)
LEFT JOIN (SELECT col3, COUNT(col3) AS CON3 FROM table GROUP BY col3) AS t3
ON t2.col2 = t3.col3)
UNION
SELECT col3 AS Num, t1.CON1, t2.CON2, t3.CON3
FROM
(((SELECT col1, COUNT(col1) AS CON1 FROM table GROUP BY col1) AS t1
RIGHT JOIN (SELECT col2, COUNT(col2) AS CON2 FROM table GROUP BY col2) AS t2
ON t1.col1 = t2.col2)
RIGHT JOIN (SELECT col3, COUNT(col3) AS CON3 FROM table GROUP BY col3) AS t3
ON t2.col1 = t3.col3)
Это выглядит так:
Num CON1 CON2 CON3
--------------------------
1 3
2 2 1
3 1 1
5 1 1
6 2
7 1
8 1
15 1
Но этот запрос игнорирует количество значений из столбца 2 таблицы
Num CON2
---------------
4 1
9 1
10 1
Чего не хватает в моем запросе