求救:高手请进,很难的一个SQL语句

[复制链接]
查看11 | 回复9 | 2006-7-29 01:02:23 | 显示全部楼层 |阅读模式
怎么利用T-SQL做这么一件事情:
在表T1中增加一个字段bb,使bb满足:bb是aa乘上一个随机数生成的,其上所有的值均自动添加?
以下为意思,当然很滑稽,以上如果能够理解我的意思,以下不看也罢。

use db1
select*, m*rnd as hh into T1
from T1
go
回复

使用道具 举报

千问 | 2006-7-29 01:02:23 | 显示全部楼层
最初由 wzhenchao 发布
[B]怎么利用T-SQL做这么一件事情:
在表T1中增加一个字段bb,使bb满足:bb是aa乘上一个随机数生成的,其上所有的值均自动添加?
以下为意思,当然很滑稽,以上如果能够理解我的意思,以下不看也罢。

use db1
select*, m*rnd as hh into T1
from T1
go [/B]


首先aa这个字段如果是int型那么直接用,如果是char型还需要convert转换后方可使用
这个问题很简单嘛,不用请高手兄弟。我来帮你解决一下吧!哈哈
解释一下RAND()*1000是什么意思,因为RAND()是返回 0 到1 之间的随机float 值,所以我在这儿乘以1000,楼主可以自已选择这个参数的大小。

方法一: update t1 set bb=floor(RAND()*1000)*aa where 看你这儿要不要条件
方法二: 你可以写个触发器或者SQL作业,让它执行这句 update 语句
回复

使用道具 举报

千问 | 2006-7-29 01:02:23 | 显示全部楼层
不知道高手是多高的人
不知道低手是多低的人
回复

使用道具 举报

千问 | 2006-7-29 01:02:23 | 显示全部楼层
最初由 wzhenchao 发布
[B]怎么利用T-SQL做这么一件事情:
在表T1中增加一个字段bb,使bb满足:bb是aa乘上一个随机数生成的,其上所有的值均自动添加?
以下为意思,当然很滑稽,以上如果能够理解我的意思,以下不看也罢。

use db1
select*, m*rnd as hh into T1
from T1
go [/B]

。。。。。。。。。。。。。。。
说句实话,你的概念很混乱,不知道你想到什么样的结果,
首先 from T1 居然还能 Into T1 这本身就是有问题。
其次 你说的bb字段,在select语句中没有出现,
多了,一个 hh 的字段??
你的意思到底是想说要知道,随机值如何获得,还是说要规则修改语句。。。。。。。。。难。。。不是问题,问题是 看不懂的问题才难,需要别人的帮助最好要把 说明语句写清楚。。。
回复

使用道具 举报

千问 | 2006-7-29 01:02:23 | 显示全部楼层
ALTER TABLE T1 ADD BB FLOAT NULL
SET ROWCOUNT 1
SELECT * FROM T1
WHILE @@ROWCOUNT > 0

UPDATE T1 SET BB=AA*RAND() WHERE BB IS NULL
回复

使用道具 举报

千问 | 2006-7-29 01:02:23 | 显示全部楼层
ALTER TABLE T1 ADD BB FLOAT NULL
GO
SET ROWCOUNT 1
SELECT * FROM T1
WHILE @@ROWCOUNT > 0
UPDATE T1 SET BB=AA*RAND() WHERE BB IS NULL
回复

使用道具 举报

千问 | 2006-7-29 01:02:23 | 显示全部楼层
怎么保持自动更新呢
回复

使用道具 举报

千问 | 2006-7-29 01:02:23 | 显示全部楼层
初学勿怪,就是呀,就像楼上说的,如何随时更新呀?
回复

使用道具 举报

千问 | 2006-7-29 01:02:23 | 显示全部楼层
用trigger來保證時時更新啊!
回复

使用道具 举报

千问 | 2006-7-29 01:02:23 | 显示全部楼层
呵呵,bb定义为计算列不就行了...
altre table T1 add bb as (aa*rand())
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行