设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2451|回复: 9
打印 上一主题 下一主题

[其它] 如何实现用表1生成新表2,表2在原表1的基础上增加了一个字段(typeid),该字段值是根据

[复制链接]
跳转到指定楼层
1#
发表于 2006-4-27 19:35:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如何实现用表1生成新表2,表2在原表1的基础上增加了一个字段(typeid),该字段值是根据字段jnumber和contype自动编号.
要求:jnumber不存在相同值时,typeid为1
        jnumber存在相同值,但contype不同时,typeid为1
        jnumber存在相同值,contype也存在相同时,typeid从1开始自动编号.
请看例表
表1(jnumber,contype)                        表2(jnumber,contype,typeid)
jnumber    contype                                 jnumber    contype     typeid
a                      40                                  a                      40           1         
a                      45                                  a                      45           1
a                      20                                  a                      20           1

b                      40                                  b                      40           1
b                      40                                  b                      40           2
b                      45                                  b                      45           1
b                      40                                  b                      40           3

c                      40                                  c                      40           1
c                      20                                  c                      20           1
c                      20                                  c                      20           2
c                      45                                  c                      45           1

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2006-4-27 20:21:00 | 只看该作者
救命呀,在线等.
3#
 楼主| 发表于 2006-4-27 21:22:00 | 只看该作者
还没人回话呀,大侠们,帮忙想想呀.谢先.
4#
发表于 2006-4-27 23:04:00 | 只看该作者
增加辅助列,为自增字段

SELECT (iif((select count(*) from b105p where a.jnumber=jnumber and a.contype=contype)=1,1,
(select count(*) from b105p where a.jnumber=jnumber and a.contype=contype and a.id>id)+1)) AS typeid, *
FROM b105p AS a;
5#
 楼主| 发表于 2006-4-27 23:37:00 | 只看该作者
谢谢4w的帮忙,我很菜的,还是不怎么明白,我上传个原表1,你帮帮忙弄个表2出来吧.
好人做到底.谢谢啦.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
6#
发表于 2006-4-27 23:48:00 | 只看该作者
将下面的语句直接复制到新建的查询中

SELECT (IIf((select count(*) from table1 where a.jnumber=jnumber and a.contype=contype)=1,1,(select count(*) from table1 where a.jnumber=jnumber and a.contype=contype and a.id>id)+1)) AS typeid, * INTO table2
FROM table1 AS a;
7#
发表于 2006-4-27 23:49:00 | 只看该作者
在查询中输入SQL代码:

SELECT (iif((select count(*) from table1 where a.jnumber=jnumber and a.contype=contype)=1,1,
(select count(*) from table1 where a.jnumber=jnumber and a.contype=contype and a.id>id)+1)) AS typeid, *
FROM table1 AS a;


8#
发表于 2006-4-27 23:51:00 | 只看该作者
SELECT (iif((select count(*) from table1 where a.jnumber=jnumber and a.contype=contype)=1,1,
(select count(*) from table1 where a.jnumber=jnumber and a.contype=contype and a.id>id)+1)) AS typeid, * into newtable
FROM table1 AS a
9#
 楼主| 发表于 2006-4-27 23:52:00 | 只看该作者
终于搞定,谢谢两位大师的帮忙.谢谢!谢谢!谢谢!
10#
 楼主| 发表于 2006-4-28 00:01:00 | 只看该作者
能否解释一下这条sql语句?看不明白.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-1 07:06 , Processed in 0.091631 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表