Aide à la réalisation d'une simple requête update [SQL] - SQL/NoSQL - Programmation
Marsh Posté le 28-10-2008 à 00:40:15
bouge pas, je vais chercher la description de tes tables dans ma boule de cristal...
Marsh Posté le 28-10-2008 à 08:25:08
Ta requete ne modifira que la category "decoration", tu dois spécifier les category enfantes de "decoration" dans le update pour qu'elles soient aussi prisent en compte
Marsh Posté le 28-10-2008 à 11:17:19
C'est bien ce qu'il me semblait. Mais comment faire cela?
Imaginons qu'il y ait 20 sous cat, dois je les spécifier manuellement toutes?
N'y a-t-il pas moyen de spécifier que l'on veut changer tous les fichiers de ce répertoire, sous cat inclus?
Marsh Posté le 28-10-2008 à 11:18:30
mais elles apparaissent comment dans la table tes sous cat ?
Marsh Posté le 28-10-2008 à 11:22:30
Brush653 a écrit : Imaginons qu'il y ait 20 sous cat, dois je les spécifier manuellement toutes? |
Sans doute pas. Sans voir le schema, dur dur.
Brush653 a écrit : changer tous les fichiers de ce répertoire, sous cat inclus? |
Hein? Quels fichiers? Quel répertoire?
"réalissation" -> "réalisation" (coquille dans ton titre)
Marsh Posté le 28-10-2008 à 11:24:37
Il y a un champ parent_id dans les categories.
Le champ de base est le 25, puis le champ decoration le 89.
Ne serait il pas dès lors possible de demander la modification de tous les prix, des produits, dont la categorie PARENT de leur categorie est = 89 ?
(ou alors je n'ai rien saisis à ta question?:d)
Marsh Posté le 28-10-2008 à 11:45:01
moi j'ai rien compris à ta réponse.
Pourquoi tu parles du champs décoration. "décoration" n'est pas un des libellés des catégories ?
Il y a une table des catégories ?
parce que l'impression que donne ta première requête est que le libellé de la catégorie est directement renseigné dans la table des produits?
Donne une description claire de tes tables, sinon on parle dans le vide
Marsh Posté le 28-10-2008 à 13:08:51
bon, je reprends
categorie AUTO, ID 25
--> categorie DECORATION, ID 89, ID_PARENT 25
--->categorie AUDI, VW, SUZUKI, .... ID variant selon la cat, ID_PARENT 89
ca c'est pour les CAT, est ce plus clair?
Marsh Posté le 28-10-2008 à 13:35:02
donc ta première requête ne fonctionne pas.
Tu dois avoir dans ta table PRODUIT une clé étrangère vers l'ID de la catégorie
Ca donnerait :
Update products
Set products_price = 69.99
WHERE ID_CATEGORY = 89
Ce qui n'est pas suffisant pour les sous cat de DECORATION
Il te faut donc une jointure entre les tables PRODUIT et CATEGORIE et faire une mise à jour des produits qui joignent sur une catégorie avec ID = 89 ou ID_PARENT = 89
Marsh Posté le 28-10-2008 à 13:36:12
WHERE category = (SELECT category FROM categories WHERE parent_id = 89)
+ la cat 89 elle-même of course
Un truc dans le genre.
On te demande une description de tables à plusieurs reprises mais ça semble venir difficilement. Là tu nous donne un bout de description d'une table et on devine le reste.
EDIT: smells like partly grilled
Marsh Posté le 28-10-2008 à 13:56:46
Mais ceci ne marche que pour une arborescence à un seul niveau attention !
Marsh Posté le 27-10-2008 à 16:59:57
Bonjour,
Mon problème est simple. Je dois modifier le prix de vente de plusieurs produits, situés dans les sous-catégories d'une catégorie commune.
Autrement dit, je voudrais:
Changer le prix de 59.99 à 69.99 de tous les produits situés sous la catégorie "décoration".
Je pensais à qqch comme:
Update products
Set products_price = 69.99
WHERE category = decorations
Le problème est qu'il y a des sous-cat sous decoration... Contenant des produits qui doivent être modifiés. Ma reqûete modifiera-t-elle uniquement la racine de decoration, ou aussi les sous-cat?
Enfin, comment faire le lien entre la table products et la table categories?
Message édité par Brush653 le 28-10-2008 à 11:36:37