Если у вас есть общее поле, указанное в вашем комментарии, используйте его с внутренним соединением:
ВЫБРАТЬ A, B, C, D
ИЗ таблицы 1
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Table2 ON (Table1.CommonField = Table2.CommonField)
Это даст результат со всеми четырьмя столбцами в одной строке. Это предполагает, что CommonField является ключом-кандидатом хотя бы в одной таблице. Возможно, вам придется настроить INNER JOIN, чтобы он был LEFT JOIN в зависимости от того, нужны ли вам все поля из одной таблицы, если CommonField другой таблицы имеет значение NULL. Кроме того, если вам нужны все строки из обеих таблиц независимо от того, есть ли соответствующая строка в соответствующей таблице, вам нужно будет использовать LEFT JOIN и написать запрос дважды (один раз с Table1, присоединяющимся к Table2, и один раз с Table 2, присоединяющимся к Table1 ) и объединяйте их вместе - аналогично другим ответам, только с учетом общего поля.
Редактировать: Как насчет этого:
SELECT A1.A, B1.B, T2.C, T2.D
FROM (
SELECT MAX(ID) ID, COUNT(ID) AS A
FROM Table1 WHERE Type = 0 GROUP BY Type
) AS A1 ON A1.ID = P.ID
FULL OUTER JOIN (
SELECT MAX(ID) ID, COUNT(ID) AS B
FROM Table1 WHERE Type = 1 GROUP BY Type
) AS B1 ON B1.ID = A1.ID
FULL OUTER JOIN (
SELECT MAX(ID) ID, COUNT(ID) AS C
FROM Table2 WHERE Type = 0 GROUP BY Type
) AS C1 ON C1.ID = A1.ID
FULL OUTER JOIN (
SELECT MAX(ID) ID, COUNT(ID) AS D
FROM Table2 WHERE Type = 1 GROUP BY Type
) AS D1 ON D1.ID = A1.ID