Requete Mysql probleme doublons

jarnac
WRInaute discret
WRInaute discret
 
Messages: 106
Inscription: 23 Juin 2005

Requete Mysql probleme doublons

Message le Mar Avr 08, 2008 17:11

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


magicaxe
WRInaute discret
WRInaute discret
 
Messages: 151
Inscription: 18 Oct 2004

Message le Mar Avr 08, 2008 17:34

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: Tout sélectionner
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...

jarnac
WRInaute discret
WRInaute discret
 
Messages: 106
Inscription: 23 Juin 2005

Message le Mer Avr 09, 2008 13:13

Merci pour ton aide magicaxe !


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités