1

テーブルボートの元の属性 (bID、名前、長さ、色)

次に、relLength ant という新しい属性を作成し、文章を書く必要があります。ここで、次の式を使用して列 (現在は 0 に設定されています) を更新します。

relLength = 長さ/平均の長さ。

私はボートと呼ばれるこのテーブルにこの属性を持っています: bID, name, length, color, relLength (これは作成されました)

これは私が書いたものですが、機能していません

UPDATE boat
SET relLength = length/  (SELECT AVG(length) FROM boat)

(平均は 38.75)

他の演習では、ビューを作成しようとしています。元のテーブル (内部に relLengt なし) を取得し、この (relLength) 属性を作成するビューを作成し、テーブルではなくビュー テーブルにのみ前の式を入力する必要があります。

ご協力いただきありがとうございます。:)

4

3 に答える 3

0

どうもありがとう。

ほぼ私が探していたもの。わずか1つの小さな修正(最後の行の長さ/v.avg_len)

これが私にとって今うまくいくものです:

update boat b, (select avg(length) avg_len from boat) v
set
  b.rellength = length / v.avg_len

誰でもビューを作成できますか?元のテーブルボート(bID、名前、長さ、色)からビューを作成し、列のrellengthを作成する必要があります(これをalter tableで行ったように...)、上記のように計算します(atributerellengthは元のテーブルには存在しません) tabel、ビュー内でのみ、これが属性を持っている場合:bID、name、legth、color、rellength!)

再度、感謝します :))

于 2013-02-08T20:27:42.420 に答える
0

次のことを試してください。

update boat b, (select avg(length) avg_len from boat) v
set
  b.rellength = v.avg_len
于 2013-02-08T12:48:00.840 に答える
0

ビューの解決策を見つけました。

CREATE OR REPLACE VIEW newBoat
AS SELECT b.bid, b.name, b.length, b.color, b.length/(
                            select avg(length) 
                            from boat b) as relLengt
FROM boat b;
于 2013-03-02T15:13:10.800 に答える