Может кто-то пожалуйста объяснить внутреннее соединение синтаксис ниже SQL:Postgres SQL внутреннее соединение синтаксиса
CREATE TABLE dataset AS
SELECT property.id
, amount.band
, amount."value"
FROM property
INNER JOIN (locality INNER JOIN amount ON locality.code = amount.code) ON (property.band = amount.band) AND (property.id = locality."UniqueId")
Почему таблица locality
определяется до второго внутреннего соединения? Я никогда не сталкивался с таким странным синтаксисом.
Есть ли более четкий способ решения одного и того же запроса, чтобы кто-то мог легко понять, что происходит?
Этот синтаксис не относится к Postgres. Это разрешено стандартом SQL, и я видел это также с SQL Server, хотя я никогда не понимал, как это сделать. –
Этот синтаксис был удален из стандарта ANSI SQL в SQL-2003 или SQL-2008. BTW, значение - зарезервированное слово, его нужно разграничить как «значение». – jarlh
'... INNER JOIN (SELECT * FROM locality INNER JOIN ...' – jarlh