Enigme SQL, requête récursive
Résolu/Fermé
Atropa
Messages postés
1940
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mai 2014
-
17 févr. 2012 à 18:11
Atropa Messages postés 1940 Date d'inscription mercredi 25 juin 2008 Statut Membre Dernière intervention 11 mai 2014 - 18 févr. 2012 à 02:55
Atropa Messages postés 1940 Date d'inscription mercredi 25 juin 2008 Statut Membre Dernière intervention 11 mai 2014 - 18 févr. 2012 à 02:55
A voir également:
- Enigme SQL, requête récursive
- Sql lister les tables ✓ - Forum Programmation
- Requête sql date supérieure à ✓ - Forum Programmation
- Logiciel sql - Télécharger - Bases de données
- Requete sql pix ✓ - Forum MySQL
- Voici du code ascii : 34 2d 3f 3d 31 décodez-le et résolvez l'énigme trouvée. - Forum Programmation
2 réponses
Salut, je dirait d'abord que l'analyse du système d'information est mal faite puisque le niveau d'une sous-catégorie n'est pas pris en compte(il devrait pourtant être dans le Dictionnaire des Données si on se fie à Merise).
En une requête avec la sous-requête:
D'abord la sous requête
SELECT id.c, idCat.c FROM article a, categorie c WHERE id.a='valeur' AND idCatParent.c=categorie.c OR id.c=categorie.c;
donnes tous les catégorie pour l'id d'un article.
Après avec des sous-requêtes il y a sûrement façon d'avoir toutes les catégories enfant.
SELECT idCat.cat, id.art FROM categorie cat, article art WHERE idCatParent=(SELECT idCat.c FROM article a, categorie c WHERE id.a='valeur' AND idCatParent.c=categorie.c OR id.c=categorie.c );
ça devrait être bon, à tester.
En une requête avec la sous-requête:
D'abord la sous requête
SELECT id.c, idCat.c FROM article a, categorie c WHERE id.a='valeur' AND idCatParent.c=categorie.c OR id.c=categorie.c;
donnes tous les catégorie pour l'id d'un article.
Après avec des sous-requêtes il y a sûrement façon d'avoir toutes les catégories enfant.
SELECT idCat.cat, id.art FROM categorie cat, article art WHERE idCatParent=(SELECT idCat.c FROM article a, categorie c WHERE id.a='valeur' AND idCatParent.c=categorie.c OR id.c=categorie.c );
ça devrait être bon, à tester.
Atropa
Messages postés
1940
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mai 2014
274
18 févr. 2012 à 02:55
18 févr. 2012 à 02:55
Merci pour ta réponse.
en fait le problème est dans l'autre sens.
c'est pour récupérer les articles par rapport a une catégorie et non les catégories parents d'un articles.
J'ai changé la structure de ma table categorie pour y mettre des "bordures". ce sera plus simple.
ca devrait ressembler a :
SELECT article.id FROM article, categorie WHERE article.idCat = categorie.id && categorie.bT >= 'valeurCategorieBT' && categorie.bB >= 'valeurCategorieBB'
en fait le problème est dans l'autre sens.
c'est pour récupérer les articles par rapport a une catégorie et non les catégories parents d'un articles.
J'ai changé la structure de ma table categorie pour y mettre des "bordures". ce sera plus simple.
ca devrait ressembler a :
SELECT article.id FROM article, categorie WHERE article.idCat = categorie.id && categorie.bT >= 'valeurCategorieBT' && categorie.bB >= 'valeurCategorieBB'