私はこのようなテーブルを持っています:
コードアニマル
123 "Alligator"
1254 "Cardinal"
5675 "Golden Retreiver"
そして、私はこのように見える別のテーブルを持っています:
CODE TYPE
12367 Reptile
12 Bird
56 Dog
コードに基づいて、タイプ列を最初のテーブルに追加したいと思います。どうすればいいのかわかりません。
最初の仕事は、altertableステートメントを使用して列を追加することです。
のようなもののように
Alter Table Animals Add AnimalTypeCode int null
次に、それを作成する必要があります。これには、一連の更新ステートメントが含まれます。
次のようなもので言います
Update Animals
Set AnimalTypeCode = 12367
Where Code = 123
またはクロコダイルが679だったと言うなら
Update Animals
Set AnimalTypeCode = 12367
Where Code in (123,679)
または、もう少し読みやすくしたい場合
Update Animals
Set AnimalTypeCode = 12367
Where Animal in ('Alligator','Crocodile')
すべてが1つになるまでバッシングを続け、必要に応じていくつかの新しいタイプを追加します。その後、外部キーを追加できます。
動物と動物の種類をリンクするテーブルをどこかに隠していない限り、これを行う簡単な方法はありません
追加するように編集しました。与えられたAnimalCode=AnimalTypeCode * 100 +?それから
Update Animals
Set AnimalTypeCode = Cast(AnimalCode / 100 as Int)
仕事をするかもしれない
Select *
From Animals
outer join AnimalTypes On Animals.AnimalTypeCode = AnimalTypes.Code
Where AnimalTypes.Code is null
animaltypecodeが既存の動物タイプを指していないすべてのものを提供します。
注意しなければならないのは、1269、Elephant、Bird(12)です。そのようなものがある場合は、個別に修正する必要があります。