Requete Mysql probleme doublons

WRInaute discret
Bonjour

J'ai un problème avec une base d'article :

J'ai 5 colonnes : thème1, sous-theme1, thème2, sous-theme2, article
(un article peut appartenir à 2 thèmes différents)

Ensuite sur mon site je voudrais afficher une liste de selection des articles avec tous les themes et les sous thème

Thème 1
sous thème 1-1
sous thème 1-2
...

Thème 2
sous thème 2-1
sous thème 2-2
...

Le problème c'est que j'ai des doublons dans mes choix de selection puisque les sous-thème se répètent dna les colonnes sous-theme1 et sous-theme2. Je n'arrive pas à formuler une requette qui selectionne pour chaque thème, tous les sous-thèmes existant à la fois dans les sous-theme1 et les sous-theme2 sans avoir de doublon

Help please
 
WRInaute discret
Tu devrait normaliser ta base: il devrait y avoir trois tables:

theme avec id et nom
sub_theme avec id, nom et id_theme
articles avec id, article
themes_articles avec id_sub_terme et id_article

themes_articles est la table de liaison entre articles et sub_theme

L'avantage est d'avoir un ou plusieurs thèmes liés à l'article et des requêtes SQL infiniments plus rapides à exécuter.

Sinon, si tu es obligé d'utiliser la structure que tu décris, la requête doit être du style:

Code:
SELECT DISTINCT thème1 as theme, sous-thème1 as sous-theme, article FROM articles
UNION 
SELECT DISTINCT thème2 as theme, sous-thème2 as sous-theme, article FROM articles

à tester...
 
Discussions similaires
Haut