Пока поля совпадают по идентификатору из A -> B и A -> C, и у вас нет никаких других условий соединения, вы должны иметь возможность видеть совпадающие строки.
Я не мог понять вашу мысль о том, что B и C Id не совпадают. если a.id = b.id и a.id = c.id, не означает ли это автоматически, что b.id = c.id?
В любом случае, в подобных ситуациях я пытаюсь выполнить внешнее соединение A на B и C и посмотреть, действительно ли совпадают строки, которые, на мой взгляд, совпадают.
select a.Id,a.Value from A a
left outer join B b on b.Id=a.Id
left outer join C c on c.Id=a.Id
where (b.id is not null or c.id is not null)
/* Matching record found in b or c */
РЕДАКТИРОВАТЬ: Исходя из ваших требований, вы можете использовать подход, предложенный Lamak выше (Использование UNION Alls), или если вы уверены, что для каждой записи в A у вас будет только одна запись в B и только один в C и только один столбец, вы можете использовать подход скалярного подзапроса .