| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2877 人关注过本帖
标题:给个题目做做,一句命令完成
只看楼主 加入收藏
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:109
帖 子:2214
专家分:3882
注 册:2007-4-27
收藏
得分:0 
都是

 经历了这个题目,我感觉SQL在VF中他是在源表中扫描,指针走一步取一个数据(取数据的规则是按select后面的要求),组成一个新表。

[此贴子已经被作者于2016-6-21 17:21编辑过]


只求每天有一丁点儿的进步就可以了
2016-06-21 09:59
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
SELECT EVALUATE(xm) as JG FROM Book11
 EVALUATE(xm)-- EVALUATE(po1)的值是A01 为什么?旁边的值?不懂?
请教各位。

[此贴子已经被作者于2016-6-23 12:41编辑过]

2016-06-23 12:18
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:109
帖 子:2214
专家分:3882
注 册:2007-4-27
收藏
得分:0 
对于 EVALUATE(xm)
当表的指针 在记录1时对应的值为 P01;语句 SELECT EVALUATE(xm) as JG FROM Book11 即为 SELECT P01 as JG FROM Book11 取到的值是A01
      在记录2时对应的值为 P02;语句 SELECT EVALUATE(xm) as JG FROM Book11 即为 SELECT P02 as JG FROM Book11 取到的值是B03
            ……
      依次取值,直到指针到表尾结束

这是我的理解。
      

只求每天有一丁点儿的进步就可以了
2016-06-23 13:25
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:109
帖 子:2214
专家分:3882
注 册:2007-4-27
收藏
得分:0 
8楼的回答,比我的答案更巧妙,所以我给他评了个10分——我的方法需要辅助字段(XM)的配合来完成,他的方法不需要辅助字段就直接实现了。

只求每天有一丁点儿的进步就可以了
2016-06-23 13:36
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
以下是引用wengjl在2016-6-23 13:25:36的发言:

对于 EVALUATE(xm)
当表的指针 在记录1时对应的值为 P01;语句 SELECT EVALUATE(xm) as JG FROM Book11 即为 SELECT P01 as JG FROM Book11 取到的值是A01
      在记录2时对应的值为 P02;语句 SELECT EVALUATE(xm) as JG FROM Book11 即为 SELECT P02 as JG FROM Book11 取到的值是B03
            ……
      依次取值,直到指针到表尾结束

这是我的理解。
      
图片附件: 游客没有浏览图片的权限,请 登录注册

EVALUATE(xm)取了纵向(记录)的值,为什么显示的横向(字段)下的一个值?不是所有值?
通常把p02字段中下的值列出来,为什么只是BO3?
8楼的语句中
SELECT EVALUATE(FIELD(RECNO()+1,'Book11')) JG FROM Book11中RECNO()+1为第2个字段,第3个字段。。。。,通常理介把它对应的值都显示出来,为什么只显示一个?不理介的关节在这里,请行家指教 !!
2016-06-23 15:16
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:109
帖 子:2214
专家分:3882
注 册:2007-4-27
收藏
得分:0 
以下是引用sylknb在2016-6-23 15:16:14的发言:


EVALUATE(xm)取了纵向(记录)的值,为什么显示的横向(字段)下的一个值?不是所有值?
通常把p02字段中下的值列出来,为什么只是BO3?
8楼的语句中
SELECT EVALUATE(FIELD(RECNO()+1,'Book11')) JG FROM Book11中RECNO()+1为第2个字段,第3个字段。。。。,通常理介把它对应的值都显示出来,为什么只显示一个?不理介的关节在这里,请行家指教 !!

  如果 SELECT p02 as JG FROM Book11  执行时,SELECT 与FROM之间的 P02 是个常量(字段名),随着指针下移,取到的值是P02的整列
 
 但 SELECT EVALUATE(FIELD(RECNO()+1,'Book11')) JG FROM Book11 执行时,SELECT 与FROM之间的 EVALUATE(FIELD(RECNO()+1,'Book11')) 是个变量(字段名依次为P01、P02、……、P14),指针下移的同时,横向也发生了移动,取到的值就不再是整列了,而是每列一个。所以很奇妙……

[此贴子已经被作者于2016-6-23 16:35编辑过]


只求每天有一丁点儿的进步就可以了
2016-06-23 16:33
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:109
帖 子:2214
专家分:3882
注 册:2007-4-27
收藏
得分:0 
指针横向也发生了移动,是我的说法。

实际是指针纵向按顺序,横向不按顺序,按字段名跳跃的

[此贴子已经被作者于2016-6-23 16:48编辑过]


只求每天有一丁点儿的进步就可以了
2016-06-23 16:46
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
真的很奇妙,横与竖的交叉点,就是不好理介!!


[此贴子已经被作者于2016-6-23 19:09编辑过]

2016-06-23 19:06
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:109
帖 子:2214
专家分:3882
注 册:2007-4-27
收藏
得分:0 
sqlx1.rar (123.71 KB)
这个图证明横向是跳跃的。



[此贴子已经被作者于2016-6-24 07:15编辑过]


只求每天有一丁点儿的进步就可以了
2016-06-24 07:13
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
以下是引用wengjl在2016-6-24 07:13:47的发言:

这个图证明横向是跳跃的。
这个图不错,我问的是为什么只取一个数值,而不取一列数值?
2016-06-24 08:14
快速回复:给个题目做做,一句命令完成
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.048446 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved