1

船的原始属性(出价、名称、长度、颜色)

然后我创建了一个名为 relLength ant 的新属性,我需要编写句子,我将在其中使用以下公式更新我的列(现在设置为 0 强文本):

relLength = 长度/平均长度。

我在这张名为船的表中有这个属性:bID、名称、长度、颜色、relLength(这是创建的)

这是我写的,但不起作用

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

(平均为 38.75)

其他练习即将创建视图。我需要获取原始表(内部没有 relLengt)并创建视图,在其中创建此(relLength)属性并仅在视图表中而不是在表中填充先前的公式。

谢谢你的帮助。:)

4

3 回答 3

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

非常感谢。

几乎是我一直在寻找的。只是一个小的更正(最后一行的长度/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 做的那样......)和像上面写的那样计算(属性 rellength 在原始文件中不存在表,仅在视图中,其中 a 具有以下属性:bID、名称、长度、颜色、相对长度!)

再次感谢 :))

于 2013-02-08T20:27:42.420 回答
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 回答