sql >> Databasteknik >  >> RDS >> PostgreSQL

Hitta alla medförfattare - Fasettering/gruppering för många till många kartläggningstabeller

Prova detta:

SELECT "AuthorId", COUNT(*)
FROM BookAuthorMapping
WHERE "BookId" IN (SELECT "BookId" FROM BookAuthorMapping WHERE "AuthorId" = 1)
GROUP BY "AuthorId"

Demo här

Du kan alternativt använda en INNER JOIN :

SELECT t1."AuthorId", COUNT(*)
FROM BookAuthorMapping AS t1
INNER JOIN BookAuthorMapping AS t2 ON t1."BookId" = t2."BookId" AND t2."AuthorId" = 1
GROUP BY t1."AuthorId"

Demo här



  1. Vad du ska kontrollera om MySQL-minnesutnyttjandet är högt

  2. PostgresQL SQL:Konvertera resultat till array

  3. Hur tar jag bort upprepade kolumnvärden från rapporten

  4. Django Import-Export Import Duplicate key value bryter mot Fel