PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment faire une sous-requête Postgresql dans une clause select avec join in from clause comme SQL Server?

Je ne suis pas sûr de comprendre parfaitement votre intention, mais peut-être que ce qui suit serait proche de ce que vous voulez :

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)

Malheureusement, cela ajoute l'exigence de regrouper la première sous-requête par id ainsi que par name et author_id, ce qui, je ne pense pas, était voulu. Je ne sais pas comment contourner cela, car vous devez disposer d'un identifiant disponible pour participer à la deuxième sous-requête. Peut-être que quelqu'un d'autre trouvera une meilleure solution.

Partagez et profitez.