| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1095 人关注过本帖
标题:如何根据表一内容修改表二字段名 -----求高手指点
只看楼主 加入收藏
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11773
专家分:43421
注 册:2006-5-13
收藏
得分:0 
以下是引用qshuju在2014-7-9 21:36:33的发言:

我意见是:SELECT  DISTINCT 表一.科目 from 表一.dbf into table xxx
把表一中的科目不重复的写入到一个表,然后根据这个表的记录(DISTINCT不会有重复的)新建字段,
然后再用SQL语句将所需要的记录查询出来inset into 新表中。

也是解决方法之一。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2014-07-10 07:43
liuxingang28
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山东济南
等 级:贵宾
威 望:47
帖 子:649
专家分:2156
注 册:2014-2-7
收藏
得分:3 
需要指出的是:表字段名不可能是纯数字,这是基本常识,楼主的“表二”是不存在的。可在数字前加字母或下划线作为字段名。
修改表结构,应该使用 Alter Table 命令。假设表2的字段是 _01、_02、03,可参考如下代码:
程序代码:
use 表2 excl in 0
select dist 成绩,科目 from 表1 into cursor curTmp
scan
    cFieldName1 = '_' + allt(成绩)
    cFieldName2 = allt(科目)
    select 表2
    if type(cFieldName1) # 'U'
        alter table 表2 rename (cFieldName1) to (cFieldName2)
    endif
endscan


泉城飞狐
2014-07-10 08:28
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11773
专家分:43421
注 册:2006-5-13
收藏
得分:0 
以下是引用liuxingang28在2014-7-10 08:28:50的发言:

需要指出的是:表字段名不可能是纯数字,这是基本常识,楼主的“表二”是不存在的。可在数字前加字母或下划线作为字段名。
修改表结构,应该使用 Alter Table 命令。假设表2的字段是 _01、_02、03,可参考如下代码:
use 表2 excl in 0
select dist 成绩,科目 from 表1 into cursor curTmp
scan
    cFieldName1 = '_' + allt(成绩)
    cFieldName2 = allt(科目)
    select 表2
    if type(cFieldName1) # 'U'
        alter table 表2 rename (cFieldName1) to (cFieldName2)
    endif
endscan
不可能存在的字段名表也是不存在的。据我理解,楼主仅仅是举例说明而已,我们不必过于计较。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2014-07-10 17:33
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11773
专家分:43421
注 册:2006-5-13
收藏
得分:0 
所以我回帖也是仅给思路或方法,没有直接给代码,否则可能会引起误导。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2014-07-10 17:35
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:109
帖 子:2197
专家分:3838
注 册:2007-4-27
收藏
得分:0 
以下是引用liuxingang28在2014-7-10 08:28:50的发言:

需要指出的是:表字段名不可能是纯数字,这是基本常识,楼主的“表二”是不存在的。可在数字前加字母或下划线作为字段名。
修改表结构,应该使用 Alter Table 命令。假设表2的字段是 _01、_02、03,可参考如下代码:
use 表2 excl in 0
select dist 成绩,科目 from 表1 into cursor curTmp
scan
    cFieldName1 = '_' + allt(成绩)
    cFieldName2 = allt(科目)
    select 表2
    if type(cFieldName1) # 'U'
        alter table 表2 rename (cFieldName1) to (cFieldName2)
    endif
endscan


哪位高手解释一下,红色一句的意思 。谢谢!

只求每天有一丁点儿的进步就可以了
2018-03-27 11:22
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:109
帖 子:2197
专家分:3838
注 册:2007-4-27
收藏
得分:0 
以下是引用liuxingang28在2014-7-10 08:28:50的发言:

需要指出的是:表字段名不可能是纯数字,这是基本常识,楼主的“表二”是不存在的。可在数字前加字母或下划线作为字段名。
修改表结构,应该使用 Alter Table 命令。假设表2的字段是 _01、_02、03,可参考如下代码:
use 表2 excl in 0
select dist 成绩,科目 from 表1 into cursor curTmp
scan
    cFieldName1 = '_' + allt(成绩)
    cFieldName2 = allt(科目)
    select 表2
    if type(cFieldName1) # 'U'
        alter table 表2 rename (cFieldName1) to (cFieldName2)
    endif
endscan


哪位高手解释一下,红色一句的意思 。谢谢!

只求每天有一丁点儿的进步就可以了
2018-03-27 11:22
快速回复:如何根据表一内容修改表二字段名 -----求高手指点
数据加载中...
 
   



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

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