2

私はSQLが初めてで、それが欲しいのですが Customer
、新しいフィールドを追加したテーブルがあり、SQLで変更を加えRegionたいと思ってい
ます。Customerすべてのレコードを取得して、それぞれを確認したい

 // This check will perfome for every customer let suppose we have our first customer
if currentcustomer.Country = 'US' 
 {
  UPDATE currentcustomer SET currentcustomer.Region=currentcustomer.id
 }
 else
 {
    UPDATE  currentcustomer SET currentcustomer.Region=currentcustomer.ZIP
  }

これは私がやりたいことですが、すべての顧客に対してこれを行う方法と、SQLでこれを行う方法がわかりません。助けてくださいありがとう!!!

4

1 に答える 1

8
UPDATE Customer SET Region='AA'
WHERE Country = 'US'

UPDATE Customer SET Region='ZZ'
WHERE Country <> 'US'

SQL 内でのループは避けてください。ループ用に設計されていません。

セットベースの用語で要件を定式化するようにしてください (国がUSregion を持つすべての顧客AAと、その他すべての顧客を region に更新する必要がありますZZ)。

アップデート:

あなたの編集を見て、それが賢明であると仮定します(互換性のあるデータ型と意味のあるデータ):

UPDATE Customer SET Region= id
WHERE Country = 'US'

UPDATE Customer SET Region= Zip
WHERE Country <> 'US'
于 2012-05-23T11:39:03.217 に答える