Я пытаюсь найти разницу между тремя таблицами, a, b и c. Я хотел бы объединить все три, показывая нули, где в каждой таблице нет записей.
В каждой таблице есть два столбца, к которым я хотел бы присоединиться, скажем, имя и фамилия.
Пока что это то, чем я занимаюсь.
Select * from a
FULL OUTER JOIN b on
a.firstName = b.firstName AND a.lastname = b.lastname
FULL OUTER JOIN c on
(c.firstName = a.firstName and c.lastName = a.LastNAME) OR
(c.firstName = b.firstName AND c.lastname = b.LastName)
Я не уверен, что логика в моих выводах верна. Есть ли лучший способ сделать это? В английском языке первое объединение объединяет A и B, включая записи в каждой таблице, которых нет в другой таблице. Второе соединение соединяет A + B с C, соединяя C с A или B, если оно совпадает.