表[table1]
| id | name |
| 1 | aa |
| 2 | bb |
| 3 | cc |
| 1 | aa |
| 2 | bb |
| 3 | cc |
我想最后的表是这样的
| id | name |
| 1 | aa |
| 2 | bb |
| 3 | cc |
将记录存到临时表#t中,重复的记录只存一条,然后将临时表#t中的记录再存回原表中,注意“select distinct id,class,name”要包含你需要的所有字段,否则有些字段就被删掉了。
在查询管理器里执行下面代码:
| SELECT DISTINCT id,, name INTO #t FROM table1 DELETE table1 INSERT INTO table1 SELECT * FROM #t |
二.找出既会VB又会PHP的人
表是这样的:
| ID | 员工 | 技能 |
| 1 | 1 | VB |
| 2 | 1 | PHP |
| 3 | 1 | ASP |
| 4 | 2 | PHP |
| 5 | 3 | ASP |
| 6 | 4 | VB |
| 7 | 4 | ASP |
要从这张表中找出既会VB又会PHP的人,SQL该怎么写啊?
回答:
| SELECT 员工 FROM [Table] WHERE 员工 IN(SELECT 员工 FROM [Table] WHERE 技能='VB' ) AND 技能='PHP' |
三.数据库合并问题
access里的两个表,想让两个表的内容合并
表[a]结构如下:
| [id] | 编号 | 自动编号 |
| [name] | 名称 | 文本 |
| [price] | 价格 | 数字 |
| [guige] | 规格 | 文本 |
| [changjia] | 生产厂家 | 文本 |
| [baozhuang] | 包装 | 文本 |
| [danwei] | 单位 | 文本 |
共有900条记录,除了id和name字段,其他均可以为空
表[b]结构如下:
| [id] | 编号 | 自动编号 |
| [name] | 名称 | 文本 |
| [price] | 价格 | 数字 |
| [changjia] | 生产厂家 | 文本 |
| [danwei] | 单位 | 文本 |
| [xingzhi] | 性质 | 文本 |
共有800条记录,除了id和name字段,比表[a]少几个字段,但还多一个[xingzhi]的字符安其它均可以为空
现在想生成一个新表[c],结构如下,而且内容是两个表的内容之和。
| [id] | 编号 | 自动编号 |
| [name] | 名称 | 文本 |
| [price] | 价格 | 数字 |
| [guige] | 规格 | 文本 |
| [changjia] | 生产厂家 | 文本 |
| [baozhuang] | 包装 | 文本 |
| [danwei] | 单位 | 文本 |
| [xingzhi] | 性质 | 文本 |
用sql语句也可以,手工操作也好,xml也好,别管怎么着吧,怎么实现呀,哥们要郁闷坏了,真要让我们再输入800条记录,我就挂了。
回答:
1.这样
| insert into c(id,name,.....) select id,name,..... from a insert into c(id,name,.....) select max(id) 1,name,..... from b |
2.更正:
如果直接在查询分析器里执行:
| insert into c(name,.....) select name,..... from a insert into c(name,.....) select name,..... from b |
3.用union方法
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!



