Comment récupérer des doublons relatifs selon un critère supplémentaire ?
J'ai des tables dans ce style
Code:
1 2 3 4 5 6 7 8
| CREATE TABLE auteur
( id INTEGER NOT NULL PRIMARY KEY,
nom VARCHAR(16),
prenom MCH_NOM VARCHAR(16))
CREATE TABLE passion
(id_auteur INTEGER NOT NULL,
descrip TEXT) |
J'ai cherché à récupérer tous les auteurs ayant le même nom et la même passion mais...je ne vois pas comment faire ! Pour l'instant j'en suis là:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| WITH multiname AS(
SELECT auteur.nom,passion.descrip
FROM auteur
JOIN passion ON auteur.id = passion.id_auteur
WHERE nom IN (
SELECT nom
FROM auteur
GROUP BY nom HAVING COUNT(nom) > 1
)
)
SELECT *
FROM multiname
WHERE descrip IN (
SELECT descrip
FROM multiname
GROUP BY nom,descrip HAVING COUNT(*) > 1
) |
Mais ça m'a l'air à la fois inutilement compliqué et très imparfait (ne récupère pas les descrip NULL par exemple). Je bloque !