J'espère que cela avait un sens, permettez-moi de préciser:SQL UPDATE SET une colonne doit être égale à une valeur dans une table liée référencée par une colonne différente?
Il y a une table de données de suivi pour un quiz où chaque ligne a ..
QuestionID et AnswerID (il y a une table pour chaque). Donc, à cause d'un bug, il y avait un tas de QuestionIDs mis à NULL, mais le QuestionID d'un AnswerID se trouve dans le tableau Answers. Donc, si QuestionID est NULL et AnswerID est 500, si nous allons à la table Answers et que nous trouvons AnswerID 500 il y a une colonne avec le QuestionID qui aurait dû être où la valeur NULL est. Donc, fondamentalement, je veux que chaque QuestionID NULL soit égal à l'identifiant QuestionID trouvé dans le tableau Réponses sur la ligne Answer de l'AnswerID qui se trouve dans la table des trackings (même ligne que l'identifiant NULL QuestionID en cours d'écriture).
Comment est-ce que je ferais ceci?
UPDATE QuestionTrackings
SET QuestionID = (need some select query that will get the QuestionID from the AnswerID in this row)
WHERE QuestionID is NULL AND ... ?
Je ne sais pas comment je vais pouvoir le faire assigner le QuestionID au QuestionID du AnswerID correspondant ...
MySQL et Microsoft SQL Server chaque extensions de soutien à la syntaxe SQL pour soutenir UPDATE multi-table. D'autres marques ne le font pas. Vous n'avez pas dit quelle marque de base de données vous utilisez. –