7
votes

Valeur de copie mySQL d'une ligne à une autre

Cela devrait être assez basique mais je ne peux pas comprendre. Avoir une table 'valeurs' xxx

Comment définir toutes les chapeaux de couleur est identique à la couleur de la chemise, de la même personne à donner à Frank A Red Hat et Sam un chapeau bleu. < / p>


0 commentaires

4 Réponses :


1
votes

Les sous-éléments peuvent être ...

Ensemble de la couleur du chapeau d'une chemise aléatoire de quelqu'un

Mettre à jour les valeurs de réglage de la valeur = (sélectionnez la valeur des valeurs où entité = v.entity and Attribut = 'Chemise' limite 1) des valeurs v où v.attribute = 'chapeau'

a écrit dans le navigateur, donc pas testé, mais vous pouvez voir une idée.


0 commentaires

1
votes

Essayez:

UPDATE table 
SET value = res.value
FROM table INNER JOIN table res
ON table.entity = res.entity
WHERE (table.attribute = 'hat') AND (res.attribute = 'shirt')


0 commentaires

15
votes

Je cherchais une solution à cela et je suis venu sur ce post. Toutefois, exécutez le câble SQL à une erreur de syntaxe.

se référant aux documents MySQL http://dev.mysql.com/doc/refman/5.0/fr /update.html J'ai remarqué - au moins dans la version 5 - MySQL a une syntaxe différente pour cela.

La déclaration générale serait la suivante: xxx


0 commentaires

8
votes

En fait, vous ne pouvez pas utiliser de sous-sélection de la même table que vous souhaitez exécuter la mise à jour de sorte que le meilleur moyen consiste à utiliser une jointure. xxx


0 commentaires