0

私はこのようなテーブルを持っています:

コードアニマル

123  "Alligator"
1254 "Cardinal"
5675 "Golden Retreiver"

そして、私はこのように見える別のテーブルを持っています:

CODE  TYPE
12367 Reptile
12    Bird
56    Dog 

コードに基づいて、タイプ列を最初のテーブルに追加したいと思います。どうすればいいのかわかりません。

4

1 に答える 1

1

最初の仕事は、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)です。そのようなものがある場合は、個別に修正する必要があります。

于 2012-05-28T20:48:47.200 に答える