Я хочу, чтобы сделать вычитание так:Postgres - Вычитание двух запросов
SELECT
(SELECT ST_Y(ST_Centroid(ST_Collect(column1))) AS distance_km
FROM table1) -
(SELECT ST_Y(ST_Transform(column1,4326)) AS distance_km
FROM table1) AS Difference
Но ST_Y(ST_Centroid(ST_Collect(column1)))
имеет только одну строку и ST_Y(ST_Transform(column1,4326))
имеет несколько строк. Я хочу вычесть несколько строк по столбцу и посмотреть результаты для каждой из нескольких строк. По этому запросу я получаю:
ERROR: more than one row returned by a subquery used as an expression
Любая помощь?
Просьба указать примерный случай. Вы предполагаете, что если у вас есть '10' от первого запроса и' {1,2,5,7} 'от второго запроса, вам нужны результаты' {9,8,5,3} '? – MatBailie
То же самое с 'SELECT (SELECT 1 UNION SELECT 2);'. Вы просто не можете сделать это с помощью SQL! –
@MikeT - «Вы» не можете использовать синтаксис, используемый Op, правильно. Но, в зависимости от фактического *** функционального *** требования, SQL, скорее всего, * * может полностью заполнить его, с правильным синтаксисом. – MatBailie