2017-09-08 4 views
0

Le problème est la mise à jour de la colonne Class. Le tableau ci-dessous est un petit extrait de la structure. La colonne Class est actuellement vide et doit être mise à jour en fonction des valeurs de la colonne d'appartenance. Par exemple, l'appartenance 12 serait classe 3.Mise à jour d'une colonne en utilisant entre

Membership Class 
    0 to 4  1 
    5 to 9  2 
10 to 19  3 

Est-ce que le code suivant suffit:

Update dbo.tablename 
set class = 1 
where 'membership' between 0 and 4 
+2

Yeap qui devrait le faire! –

+1

FYI, pour les questions de base de données où SQL est le seul langage de programmation impliqué, voir le site frère: [* dba.StackExchange.com *] (http://dba.StackExchange.com/). –

Répondre

2

Vous devez prendre des guillemets autour de votre nom de colonne:

Update dbo.tablename set class=1 where membership between 0 and 4 

Ensuite, exécutez la même chose pour différentes plages d'appartenance.

1

Si vous utilisez SQL Server (ou l'une des autres bases de données), vous ne devriez pas vous préoccuper d'une colonne class. Au lieu de cela, utilisez une colonne calculée:

alter dbo.tablename add class as 
    (case when membership between 0 and 4 then 1 
      when membership between 5 and 9 then 2 
      when membership between 10 and 19 then 3 
    end); 

La valeur est calculée lorsque vous faites référence à la colonne, il est donc toujours à jour.