Insérer dans une table une valeur extraite de cette même table + des valeurs ajoutées manuellement
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 :
Code:
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); |
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.
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