PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come eseguire una sottoquery Postgresql nella clausola select con una clausola join in from come SQL Server?

Non sono sicuro di aver compreso perfettamente il tuo intento, ma forse quanto segue sarebbe vicino a quello che vuoi:

select n1.name, n1.author_id, count_1, total_count
  from (select id, name, author_id, count(1) as count_1
          from names
          group by id, name, author_id) n1
inner join (select id, author_id, count(1) as total_count
              from names
              group by id, author_id) n2
  on (n2.id = n1.id and n2.author_id = n1.author_id)

Sfortunatamente questo aggiunge il requisito di raggruppare la prima sottoquery per id, nonché per nome e author_id, che non credo fosse voluto. Tuttavia, non sono sicuro di come aggirarlo, poiché è necessario disporre di un ID disponibile per partecipare alla seconda sottoquery. Forse qualcun altro troverà una soluzione migliore.

Condividi e divertiti.