主题:高手帮忙 两个数据库之间 引用数据的问题
sunsuns
[专家分:0] 发布于 2009-10-20 14:08:00
要在C0510SU.DBF 中 引用 book1.DBF 中的B字段
我写了一个程序 可是通不过 高手指教.
use book1
use C0510su
scan
update C0510su set Lprice=book1.b where c0510su.code=book1.a
endsc
最后更新于:2009-10-20 14:10:00
回复列表 (共15个回复)
沙发
Ilikefox [专家分:5770] 发布于 2009-10-20 14:34:00
指教谈不上,说说看:
1.这不是两个数据库,而是两个表。
2.命令语法不熟悉,第2个use关闭了第1个use打开的表。
3.不建议scan中间用update,因为update强大到没必要scan。
改写:
use book1 in 0
use C0510su in 0
select C0510su
scan
select book1
scan
if c0510su.code=book1.a
replace C0510su.Lprice WITH book1.b
endif
endscan
endscan
最简方式,一句实现:
update C0510su set Lprice=book1.b from book1 where c0510su.code=book1.a
板凳
sunsuns [专家分:0] 发布于 2009-10-20 18:21:00
但是还有一个问题, 在book1 当中 是有重复的记录的, 如何能够使得记录不被重复替换呢? 请赐教!
3 楼
sunsuns [专家分:0] 发布于 2009-10-21 11:24:00
有没有高手可以解决这个问题啊? 在线等~ 谢谢赐教!
4 楼
Gleam [专家分:3100] 发布于 2009-10-21 15:45:00
[quote]但是还有一个问题, 在book1 当中 是有重复的记录的, 如何能够使得记录不被重复替换呢? 请赐教![/quote]
你的描述最好再详细一些。
重复记录?是某些字段重复还是数据行重复?
如果是某些字段重复,可以加条件进行替换。如果数据行重复了,就不太好办了。
5 楼
sunsuns [专家分:0] 发布于 2009-10-21 16:31:00
book1.a当中有重复的数据 比如0076100 出现了两次 这样的话 所有的C0510su 中的数据都被后面的记录刷新成0了, 而我想要的是分别匹配进c0510su的记录里面
6 楼
sunsuns [专家分:0] 发布于 2009-10-22 10:11:00
有没有高手可以解决这个问题啊? 在线等~ 谢谢赐教!
7 楼
sunsuns [专家分:0] 发布于 2009-10-27 11:43:00
顶上来!!
8 楼
sunsuns [专家分:0] 发布于 2009-10-30 13:46:00
再顶一次
9 楼
sunsuns [专家分:0] 发布于 2009-11-05 10:00:00
跪求高手帮忙!!!!
10 楼
Vii [专家分:1130] 发布于 2009-11-05 10:39:00
LZ的分别匹配进C0510su中,是不是1对N,N对N的情况啊?
那么连接一下就可以了.
SELECT A.PNO,A.LNO,A.PRNT,A.CATA,A.CODE,B.* FROM C0510SU A LEFT JOIN BOOK1 B ON A.CODE=B.A WHERE A.CODE='0076100'
我来回复