2010-07-08 5 views
0

et si je voulais mettre à jour les enregistrements dans la table en modifiant les valeurs dans l'une des colonnes?modifier la table avec la colonne avec les valeurs nulles

J'ai des enregistrements dans la table qui ont une colonne vide (valeurs nulles). Je veux changer ces valeurs et insérer des valeurs d'une autre table dans ces enregistrements.

Fondamentalement, j'ai une table avec une colonne vide. Je ne veux pas ajouter à la fin de la table, mais commencer à insérer de l'enregistrement 1.

+0

Existe-t-il une sorte de relation clé qui relie les deux tables ensemble? –

Répondre

1

Pour les enregistrements existants, vous devez utiliser UPDATE pour mettre à jour cette colonne, WHERE thatColumn IS NULL.

Les valeurs de cette colonne ne doivent-elles pas être en relation avec le reste de l'enregistrement? Je pouvais comprendre initialisant les enregistrements existants à une valeur non nulle, ou à l'aide d'une requête UPDATE pour remplir les données d'une autre table dans cette colonne, mais tous liés à la ligne originale ...

UPDATE old SET old.badColumn = new.newData 
FROM oldTable old 
JOIN newTable new on old.someID = new.someID 

Ce trouverait la les données liées dans newTable correspondant oldTable, et mettre à jour le badColumn à certaines données de newTable ... laissez-moi savoir si vous avez besoin de plus d'aide.

+0

La colonne qui a des valeurs nulles a été altérée accidentellement à null; il est lié aux autres colonnes de chaque enregistrement, donc j'essaie d'insérer les données d'origine dans cette colonne; mais ne peux pas le faire correctement. La seule chose est qu'il insère à la fin de la table. – vbNewbie

+0

Vous devez faire quelque chose comme ceci ... MISE À JOUR un ensemble a.badColumn = b.newData de myTable une jointure otherTable b sur a.someid = b.someid Est-ce logique? :) – Fosco

+0

merci laissez-moi essayer que rapide – vbNewbie

1

Consultez la section «Utilisation de l'instruction UPDATE avec des informations d'une autre table» de this page de la documentation en ligne de SQL Server.

+0

essayé différentes combinaisons. ne pas avoir raison – vbNewbie

Questions connexes