Bonjour,
Je reçois dans un fichier des mots correspondant a des codes de categories.
Ex : OACCOP (le mot que je reçois)
Je donne un exemple.
Exemple de ce qui y a dans la table categorie_description
Je veux donc pouvoir concaténer les categories_code pour retrouver mon exemple au dessus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 categories_id categories_name categories_code parent_id 1 Bureautique Accessoires OAC 0 2 Bureautique Caisses OCR 0 31 Z Z 0 32 Calculatrice CAL 1 33 Copieurs COP 1 34 Fax FAX 1
Pour limiter le nombre de tuples, la table est organisée comme un arbre.
Avec un père et des fils. Je voudrais donc une requête qui me permettent de retrouver les fils, petit-fils et ainsi de suite d'un parent. Mais je connais que le numéro du père.
Et les fils ne connaissent que le numéro du père.
voici l'avancement je suis arriver avec cette requête a concaténer tous les codes entres eux.
Seulement ça me fait je sais pas combien de mot inutiles, moi je voudrais que les liaisons entre père et fils.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT CONCAT(a.categories_code, b.categories_code) from categories_description a CROSS JOIN categories_description b
Avancement2
J'ai pensé a une requête comme celle ci, mais ça ne peut pas marcher parce que l'alias Concat existe pas au moment ou je veux l'utiliser dans le where.
Je pense donc qu'il faut que je l'enlève et que j'utilise les réponses dans une autres requêtes pour voir si il y a un résultat entre le mot que je cherche et toutes ces réponses mais je bloque un peu la. Comment utiliser les réponses d'une requêtes dans une autres requêtes alors que le champ de concaténation n'existe dans aucune table?
avancement 3
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT c.categories_id, c.parent_id, CONCAT(a.categories_code, b.categories_code) as Concat FROM osc_categories_description a, osc_categories c JOIN osc_categories_description b WHERE a.categories_id = c.categories_id AND Concat = "OACCOP"
Finalement je pense avoir trouve ma requête grâce au having.
Mais ça ne marche que si j'ai une catégorie et une sous catégorie dans le mot, il y aurait pas moyen pour que ça marche peu importe le nombre de catégorie et sous catégorie?
Si vous pouviez m'aider
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT c.categories_id, c.parent_id, CONCAT(a.categories_code, b.categories_code) AS Concat FROM osc_categories_description a, osc_categories c JOIN osc_categories_description b WHERE a.categories_id = c.categories_id HAVING Concat = "OACCOP"
Cordialement,
Toshy
Partager