Bonsoir,
J'aimerais quelques pistes pour avancer sur un casse tête qui me tient à cœur. Je cherche à ajouter dans une table de nouvelles valeurs, mais seulement dans certaines conditions, dans l'optique de la réorganisation d'une base de donnée de spécifications techniques.
La table en question, nommée fiche_champs, fais le lien entre les critères techniques et les fiches produits en question. Elle comprends les colonnes suivantes : id (id de la relation), id_fiche (id de la fiche produit), id_champs (id d'un critère, correspondant par exemple à "Poids"), id_champs_value (id de la valeur de ce critère, correspondant par exemple à "5 Kg"), string_valeur (intitulé textuel de la valeur : 5-KG), num_valeur (valeur numérique attribuée permettant une recherche avec des opérateurs logiques, par exemple "5")
Je cherche donc à ajouter de nouvelles relations à cette base.
Par exemple, je vais créer un nouveau champ intitulé "catégorie de poids" et une valeur pour ce même champs intitulée "Lourd".
Je vais donc chercher à isoler toutes les entrée de cette table contenant l'"id_champs_value" correspondant à 5 Kg, récupérer les données, et ajouter une nouvelle relation entre les fiches concernées et ma nouvelle valeur Lourd.
(Déjà, est-ce que ma démarche vous semble correcte ?)
Je calle donc maintenant sur la structure de ma requête. Voici où j'en suis :
Mon SELECT imbriqué dans le VALUES n'est pas correct, mais c'est la "meilleure" manière que j'ai trouvé pour modéliser mon but.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 INSERT INTO fiche_champs (id_fiche, id_champs, id_champs_value, string_valeur, num_valeur) VALUES ( (SELECT id_fiche FROM fiche_champs WHERE id_champs_value=2027;) , 225, 2030, 'LOURD', 5);
D'après vous, est-ce la bonne approche ?
Edit : modification du titre pour mieux refléter ma demande +
correction de mon erreur de parenthèse
Partager