主题:数组变量怎么引用,求
ckjing
[专家分:10] 发布于 2009-08-28 16:29:00
DIMENSION gs(29)
gs(1)="第1支"
gs(2)="第2支"
gs(3)="第3支"
gs(4)="第4支"
gs(5)="第5支"
gs(6)="第6支"
gs(7)="特码"
gs(8)="总分"
gs(9)="第1生肖"
gs(10)="第2生肖"
gs(11)="第3生肖"
gs(12)="第4生肖"
gs(13)="第5生肖"
gs(14)="第6生肖"
gs(15)="特生肖"
gs(16)="第1合数"
gs(17)="第2合数"
gs(18)="第3合数"
gs(19)="第4合数"
gs(20)="第5合数"
gs(21)="第6合数"
gs(22)="特合数"
gs(23)="第1尾数"
gs(24)="第2尾数"
gs(25)="第3尾数"
gs(26)="第4尾数"
gs(27)="第5尾数"
gs(28)="第6尾数"
gs(29)="特尾数"
USE kjsj
FOR k = 1 TO 28
FOR j = 2 TO 29
SELECT gs(k),gs(j),和 FROM kjsj INTO CURSOR lsb
REPLACE lsb.和 WITH lsb.gs(k)+lsb.gs(j)
ENDFOR
ENDFOR
错在哪,求助
我要的得到的是选择表kjsj中的第1支,第2支,。。。进入表lsb
最后更新于:2009-08-28 16:54:00
回复列表 (共7个回复)
沙发
homayzh [专家分:7040] 发布于 2009-08-28 16:56:00
你的目的是什么?
板凳
homayzh [专家分:7040] 发布于 2009-08-28 16:57:00
S我没有多用过select
这个
SELECT gs(k),gs(j),和 FROM kjsj INTO CURSOR lsb
是什么意思/?
3 楼
ckjing [专家分:10] 发布于 2009-08-28 17:05:00
表kjsj有字段第1支,第2支,。。。。,和
我要得到的是选择表kjsj中的第1支,第2支,和。入表lsb中
第1支,第3支,和 。。。第1支,第4支,和。。。。等等
用数组变量gs(k),gs(j)来替换字段名这样有什么问题吗
就这句SELECT gs(k),gs(j),和 FROM kjsj INTO CURSOR lsb
4 楼
妙计山人 [专家分:130] 发布于 2009-08-28 17:38:00
完全可以参考这个实例:
http://bbs.pfan.cn/post-307668.html
5 楼
Vii [专家分:1130] 发布于 2009-08-28 18:07:00
看来好像是GS的组合.
是否可以这样设计表结构:
第一张表 GsInfo 表,就用于存Gs信息,结构:
GsBh,GsMc
1 第1支
2 第2支
3 第3支
第二张表 Kjsj(不知道干什么,猜测):
Pbh(人员编号),Gsbh,GsVal
1 1 'AA'
1 2 'BB'
1 3 'CC'
2 1 'DD'
2 2 'EE'
3 3 'FF'
这样要得到某个人的GsVal的两两组合的话,连接一下就好像可以了.
没具体试.
做个标记先.
6 楼
ckjing [专家分:10] 发布于 2009-08-28 18:44:00
SELECT (&gs(k)),(&gs(j)),和 FROM kjsj INTO CURSOR lsb
基本上可以了,能解释下吗,还有问题是得到的表lsb字段名不是gs(k)和gs(j)所替代的字符比如k=1,j=3是第1支,第3支,而是exp-1,exp-2,还有这句也不能运算REPLACE all lsb.和 WITH lsb.gs(k)+lsb.gs(j)
为何
7 楼
Vii [专家分:1130] 发布于 2009-08-28 19:08:00
select * from gsinfo
Gsbh Gsmc
---- -------
1 第1支
2 第2支
3 第3支
4 第4支
5 第5支
6 第6支
(所影响的行数为 6 行)
select * from Kjsj
Pbh Gsbh Gsval
--- ------- -----
1 1 鼠
1 2 牛
1 3 虎
1 4 兔
1 5 龙
1 6 蛇
2 1 鼠
2 2 牛
2 3 虎
2 4 兔
2 5 龙
2 6 蛇
(所影响的行数为 12 行)
select a.pbh,a.gsbh,b.gsmc,a.gsbh_1,c.gsmc,a.gsval from (
select a.pbh,a.gsbh,b.gsbh as Gsbh_1,a.gsval+'+'+b.gsval as Gsval from kjsj a,kjsj b where a.pbh=b.pbh and a.gsbh<>b.gsbh and b.pbh=1
)a left join gsinfo b on a.gsbh=b.gsbh left join gsinfo c on a.gsbh_1=c.gsbh
pbh gsbh gsmc gsbh_1 gsmc gsval
---- ------- ------ -------- ------
1 1 第1支 2 第2支 鼠+牛
1 1 第1支 3 第3支 鼠+虎
1 1 第1支 4 第4支 鼠+兔
1 1 第1支 5 第5支 鼠+龙
1 1 第1支 6 第6支 鼠+蛇
1 2 第2支 1 第1支 牛+鼠
1 2 第2支 3 第3支 牛+虎
1 2 第2支 4 第4支 牛+兔
1 2 第2支 5 第5支 牛+龙
1 2 第2支 6 第6支 牛+蛇
1 3 第3支 1 第1支 虎+鼠
1 3 第3支 2 第2支 虎+牛
1 3 第3支 4 第4支 虎+兔
1 3 第3支 5 第5支 虎+龙
1 3 第3支 6 第6支 虎+蛇
1 4 第4支 1 第1支 兔+鼠
1 4 第4支 2 第2支 兔+牛
1 4 第4支 3 第3支 兔+虎
1 4 第4支 5 第5支 兔+龙
1 4 第4支 6 第6支 兔+蛇
1 5 第5支 1 第1支 龙+鼠
1 5 第5支 2 第2支 龙+牛
1 5 第5支 3 第3支 龙+虎
1 5 第5支 4 第4支 龙+兔
1 5 第5支 6 第6支 龙+蛇
1 6 第6支 1 第1支 蛇+鼠
1 6 第6支 2 第2支 蛇+牛
1 6 第6支 3 第3支 蛇+虎
1 6 第6支 4 第4支 蛇+兔
1 6 第6支 5 第5支 蛇+龙
(所影响的行数为 30 行)
这样GsVal就是Pbh为1的组合值了(不包括编号一样的组合).
我来回复