Détails
MySQL - Requête UPDATE basée sur la requête SELECT
Je dois vérifier (à partir de la même table) s'il existe une association entre deux événements basée sur la date et l'heure.
Un ensemble de données contient la date et l'heure de fin de certains événements et l'autre ensemble de données contient la date et l'heure de début d'autres événements.
Si le premier événement se termine avant le second, j'aimerais les relier.
Ce que j'ai jusqu'à présent est :
SELECT name as name_A, date-time as end_DTS, id as id_A
FROM tableA WHERE criteria = 1
SELECT name as name_B, date-time as start_DTS, id as id_B
FROM tableA WHERE criteria = 2
Puis je les rejoins :
SELECT name_A, name_B, id_A, id_B,
if(start_DTS > end_DTS,'VALID','') as validation_check
FROM tableA
LEFT JOIN tableB ON name_A = name_B
Puis-je ensuite, en fonction de mon champ validation_check, exécuter une requête UPDATE avec le SELECT imbriqué ?
461
3
Vous pouvez en fait procéder de deux façons :
Syntaxe de jointure de mise à jour MySQL :
Syntaxe ANSI SQL :
Choisissez celle qui vous semble la plus naturelle.
J'espère que cela fonctionnera pour vous.
Si quelqu'un cherche à mettre à jour des données d'une base de données à une autre, quelle que soit la table qu'il vise, il doit y avoir des critères pour le faire.
Celui-ci est meilleur et propre pour tous les niveaux :
Traaa ! Ca marche bien !
Avec la compréhension de ce qui précède, vous pouvez modifier les champs définis et les critères "on" ; pour faire votre travail. Vous pouvez également effectuer les vérifications, puis transférer les données dans la ou les tables temporaires et ensuite exécuter la mise à jour en utilisant la syntaxe ci-dessus en remplaçant les noms de vos tables et colonnes.
J'espère que cela fonctionnera, sinon faites-le moi savoir. Je vais écrire une requête exacte pour vous.