数据库问题,大家帮帮忙!在线等!

doveph 2004-01-16 09:51:12
请问在数据库中(EXCEL或ACCESS)怎样才能自动把两个字段中内容重复的记录删除(或是把未重复的提出)?例如:网站数据库data.mdb的shop表中有2千条记录,其中要对比所有记录的A字段与所有记录的B字段的内容(也就是说对比记录1的字段A与2千条记录的字段B内容是否相同,然后对比记录2的字段A与2千条记录的字段B内容是否相同...一直到最后一条记录),如果A和B内容相同则删除此记录。请问怎么样才能实现?
...全文
48 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
songqzs 2004-01-16
  • 打赏
  • 举报
回复
备注很容易出问题的!
songqzs 2004-01-16
  • 打赏
  • 举报
回复
bookcontent什么类型
doveph 2004-01-16
  • 打赏
  • 举报
回复
哦,行了行了,刚才是表中bookcontent字段是备注属性,改成文本就好了,呵,太感谢了!
doveph 2004-01-16
  • 打赏
  • 举报
回复
Microsoft JET Database Engine 错误 '80040e21'

子查询 'bookcontent' 中 Memo 或 OLE 对象无效.

/update.asp,行2
doveph 2004-01-16
  • 打赏
  • 举报
回复
全部代码是:
<!--#include file="Conn.asp"-->
<%conn.execute "delete from shop_books where bookid in (select bookid from shop_books where bookname in (select bookcontent from shop_books))" %>


songqzs 2004-01-16
  • 打赏
  • 举报
回复
不会吧,你把代码贴出来看看,我觉得这个逻辑没有问题呀!
doveph 2004-01-16
  • 打赏
  • 举报
回复
用songqzs(潜伏者)老兄的:

Microsoft JET Database Engine 错误 '80040e21'

子查询 'b' 中 Memo 或 OLE 对象无效.

/update.asp,行2
i54 2004-01-16
  • 打赏
  • 举报
回复
select * from table where a=b
songqzs 2004-01-16
  • 打赏
  • 举报
回复
delete from tablename where id in (select id from tablename where a in (select b from tablename))
doveph 2004-01-16
  • 打赏
  • 举报
回复
???
doveph 2004-01-16
  • 打赏
  • 举报
回复
还是有问题,用四楼的老兄的只能删除同一记录(ID相同的)中字段A和B相同的记录,我是想要的是:
表tablel中有2000条记录(ID从1到2000),有字段a和b,要删除记录1(ID=1)中字段a中内容与所有记录(ID=1至2000)中b字段中内容相同的记录?
doveph 2004-01-16
  • 打赏
  • 举报
回复
好的感谢大家,我试试
xieyj 2004-01-16
  • 打赏
  • 举报
回复
可以使用 connection 连接access 或 excel ,然后使用 sql 语句查询,以下提供数据库链接。
常用六种数据库连接方式:

1.对在access数据库而言,数据库连接的asp程式码如下:set conn = server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq=数据库名称;uid=sa;pwd="
其中在dbq直接设定access数据库的真实路径名称。您可以使用server.mappath("数据库名称名称") 以取得数据库的真实地址如下:
conn.open "driver={microsoft access driver (*.mdb)};dbq=" & server.mappath("数据库名称") & ";uid=sa;pwd="

2.对在sql server数据库而言,数据库连接的asp程式码如下:
set conn = server.createobject("adodb.connection")
conn.open "driver={sql server};database=数据库名称;server=(local);uid=sa;pwd="

3.对在oracle数据库而言,数据库连接的asp程式码如下:
set conn = server.createobject("adodb.connection")
conn.open "driver={microsoft odbc for oracle};uid=xxx;pwd=yyy;server=sss"

4.对在excel而言,数据库连接的asp程式码如下:
set conn = server.createobject("adodb.connection")
conn.open "driver={microsoft excel driver (*.xls)};dbq=数据库名称"

5.对在dbase数据库而言,数据库连接的asp程式码如下:
set conn = server.createobject("adodb.connection")
conn.open "driver={microsoft dbase driver (*.dbf)};dbq=数据库名称"

6.对在text名称而言,数据库连接的asp程式码如下:
set conn = server.createobject("adodb.connection")
conn.open "driver= {microsoft text driver (*.txt; *.csv)};dbq=数据库名称"
say1no2 2004-01-16
  • 打赏
  • 举报
回复
当然在asp里啊
unknowbody 2004-01-16
  • 打赏
  • 举报
回复
不可能是在一个表中吧?如果在一个表中查寻起来也没有意义(就像楼上所说的),你好像没有说清楚。
killStar 2004-01-16
  • 打赏
  • 举报
回复
delete from table where a in(select destinct b from table)
doveph 2004-01-16
  • 打赏
  • 举报
回复
哦,我很菜,是在EXCEL里输入这段语句还是在ASP文件中?
say1no2 2004-01-16
  • 打赏
  • 举报
回复
delete from tablename where id in (select id from tablename where a=b)
Clove 2004-01-16
  • 打赏
  • 举报
回复
delete from table where a in (select b from table )
这样应该可以了吧
xieyj 2004-01-16
  • 打赏
  • 举报
回复
select * from table where a=b

28,407

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧