Первое, что вы хотите сделать, это избавиться от всех этих шумных кавычек вокруг идентификаторов.В стандартном SQL идентификаторы считаются нечувствительными к регистру (и по умолчанию в верхнем регистре), поэтому эти 3 (не заключенные в кавычки) синтаксически эквивалентны:
... as FOO
... as foo
... as FoO
Кавычечные идентификаторы должны использоваться, когда смешанные регистры действительнотребуется или когда идентификаторы конфликтуют с зарезервированными ключевыми словами.
Проблема в вашем случае использования заключается в том, что вы не можете удалить кавычки из запроса, потому что ваши таблицы изначально были созданы с (цитируемыми) идентификаторами camelCase , например:
CREATE TABLE T1 (
"Id" INT,
"Name" VARCHAR(100)
);
Вам нужно RENAME
эти столбцы к чему-то без кавычек:
ALTER TABLE T1 RENAME "Id" TO id;
ALTER TABLE T1 RENAME "Name" TO name;
Чтобы заменить разрывы регистра в нотации camelCase, я бырекомендуем использовать символ подчеркивания:
ALTER TABLE T2 RENAME "StuffId" TO stuff_id;
Как только все столбцы таблицы будут правильно переименованы, вы можете выполнить следующий запрос:
SELECT
Stuff.Id AS Stuff_Id,
Stuff.Name AS Stuff_Name,
Thing.Id AS Thing_Id,
Thing.Name AS Thing_Name,
Any.Id AS Any_Id,
Any.Name AS Any_Name
FROM
T1 AS Stuff
INNER JOIN T2 AS Link ON Stuff.Id = Link.Stuff_Id
INNER JOIN T3 AS Thing ON Thing.Id = Link.Thing_Id
INNER JOIN T4 AS Any ON Any.Id = Link.Any_Id