sql >> Databáze >  >> RDS >> PostgreSQL

Jak provést poddotaz Postgresql v klauzuli select s připojením z klauzule, jako je SQL Server?

Nejsem si jistý, zda dokonale rozumím vašemu záměru, ale možná by se tomu, co chcete, blížilo následující:

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)

Bohužel to přidává požadavek na seskupení prvního poddotazu podle id a také jména a id autora, což si myslím, že nebylo žádoucí. Nejsem si však jistý, jak to obejít, protože pro připojení k druhému dílčímu dotazu potřebujete mít k dispozici ID. Možná někdo jiný přijde s lepším řešením.

Sdílejte a užívejte si.



  1. org.postgresql.util.PSQLException:FATAL:Omlouváme se, již příliš mnoho klientů

  2. Vytvoření dynamického vyhledávacího dotazu pomocí PHP a MySQL

  3. Přesměrování na domovskou stránku po přihlášení php

  4. Proč není v relačních databázích podporován výběr z uložené procedury?