J'ai une table comme suit dans SQL Server 2008Mise à jour une colonne basée sur des valeurs dans les lignes liées
AMID TierLevel
-------- -------------
999 GOLD
1000 SILVER
1000 GOLD
1000 PLATINUM
1000 BRONZE
1001 GOLD
1001 SILVER
1002 SILVER
1003 GOLD
Maintenant, je veux mettre à jour ce tableau comme suit
AMID TierLevel
-------- -------------
999 GOLD
1000 PLATINUM
1000 PLATINUM
1000 PLATINUM
1000 PLATINUM
1001 GOLD
1001 GOLD
1002 SILVER
1003 GOLD
Voici les conditions
Je souhaite une valeur Tier unique pour le même AMID, et les valeurs Tier doivent être sélectionnées dans pri comme base rité
- PLATINUM
- GOLD
- ARGENT
- BRONZE
Cela signifie que si elle est la plus élevée ayant une présente dans ses valeurs de niveau sélectionner alors que. Comme je l'ai indiqué dans la deuxième table, platine pour 1000 et d'or pour 1001 ..
s'il vous plaît me aider
Merci,
Harry
Merci Gareth, celui-ci travaille gr8 pour ma table, et je voudrais vous poser une petite question ici. cela mettra-t-il à jour toutes les lignes dans la table ou les mises à jour seulement où la valeur doit être changée? parce qu'il montre 190k lignes mises à jour de ma table de 200k lignes .. !! – harry
Vous pouvez facilement ajouter une clause WHERE, par ex. 'WHERE TierLevel <> Name' ... –
Il aurait mis à jour toutes les lignes, donc il semble que vous ayez des lignes qui ne sont pas BRONZE, SILVER, GOLD ou Platinum! Comme Aaron l'a suggéré, j'ai ajouté une clause where pour mettre à jour la déclaration. – GarethD