UPDATE Colonne SQL basée sur les valeurs d'une autre colonne. (Ce n'est pas aussi simple)

J'essaie de mettre à jour une colonne avec une valeur d'une colonne différente dans certaines circonstances. C'est compliqué. J'ai essayé de comprendre cela tout seul pendant une semaine maintenant. (allumé et éteint)

Voici à quoi il ressemble actuellement: entrez la description de l'image ici

J'ai besoin d'une instruction SQL qui searchra le LotNo à OperationCode 1280 et l'assignera à toutes les valeurs avec le même CastTID.

Voici à quoi cela devrait ressembler après entrez la description de l'image ici

J'apprécierais vraiment toute aide! C'est mon premier post, si je n'ai pas laissé de côté quelque chose d'important, faites le moi savoir pour que je puisse vous aider.

Vous pouvez utiliser une jointure dans votre instruction update pour vous faciliter la tâche.

update t set CastLotNo = t2.LotNo from yourTable t inner join yourTable t2 on t2.CastTID = t.CastTID and t2.OperationCode = 1280 
 UPDATE `myTable` SET `CastLotNo` = (SELECT `LotNo` FROM `MyTable` WHERE `OperationCode` = '1280' LIMIT 1) WHERE `CastTID` = (SELECT `CastTID` FROM `MyTable` WHERE `OperationCode` = '1280' LIMIT 1) 

Il semble que vous pourriez utiliser quelque chose comme ça. Je ne peux pas tester cela pour le moment, alors laissez-moi savoir si cela doit être peaufiné.

 WITH cte as ( SELECT CastTID, LotNo FROM Table1 WHERE OperationCode = 1280 ) UPDATE myTable T SET CastLotNo = (SELECT C.LotNo as CastLotNo FROM cte C WHERE C.CastTID = T.CastTID)