Select 可以搞定一切吗?来者有分!!!

xjb2001 2002-04-04 10:43:22
本人对SQL语句不是很熟,现在手头上有一个问题困扰了很久,恳请赐教!
1。替换字段内容

对单个表A进行查询,并将A表中指定的字段值替换成其它B表中的字段,并且能够返回A表中全部记录,单个字段替换SQL如下:
select a.bh,a.xm,b.mc as xb from data1 a
join bmdata b on (b.bmlb='S' and a.xb=b.bm)
中文说明如下:
检索 A表的编号,姓名,B表的名称 从 DATA1中对应别名为A
JOIN 表BMDATA对应别名为B 条件为B表的编码类别等于性别的且
A表的性别编码等于B表的编码的。
以上SQL完成A表中性别编码到B表中对应编码名称的转换。
对于以上SQL只能完成某一字段内容转换,如果需替换字段内容在五个以上则检索记录将难以忍受,请问有没有更好的SQL语名能够实现以上功能并达到理想速度。

2。DELPHI中处理日期型数据的问题:

用SQL对数据库中的日期型进行限定查找,不能获得理想的结果,不知道有什么办法可以转换日期型数据,或数据库能够接受指定数据为日期型,或者干脆用什么SQL语句可以限定或指定查找日期型数据。谢谢!
...全文
30 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xjb2001 2002-04-04
  • 打赏
  • 举报
回复
回复:cz3w(三王)
我的应用是一个桌面数据库,换言之,是在单机上使用中出现的问题。
回复:zx_wang(wzx)
我是从上级原数据库中查找记录,然后导入到本级数据库中,这其实是一个多表多数据库导入的问题,上级数据不能修改。
回复:cai21cn()
你的SQL语句是可以更快,但是如果有多个字段需要更改,那么那些不符合这些条件的记录将不会查找出来,问题是我要全部的源数据,并将符合条件的字段更改。
谢谢以上各位!
cai21cn 2002-04-04
  • 打赏
  • 举报
回复
将SQL换成select a.bh,a.xm,b.mc as xb from data1 a,bmdata b where b.bmlb='S' and a.xb=b.bm 试一试,如果可能最好再加入一些条件限制,使返回的记录集不至于太大
zx_wang 2002-04-04
  • 打赏
  • 举报
回复
添加索引,这样可以大大加快查询速度
cz3w 2002-04-04
  • 打赏
  • 举报
回复
用存储过程试试
xjb2001 2002-04-04
  • 打赏
  • 举报
回复
10000条左右,我试过了,用以上方法,如果有6个字段需要替换的话,我433的机器需要半个小时左右,你大概不是要我换CPU吧!:)
anxue 2002-04-04
  • 打赏
  • 举报
回复
你有多少条记录?

5,390

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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