update 更新一个表 中的一个字段 为 另一个表中的字段内容 一对多 sql 怎么写 ?

时间:2021-07-03 15:09:28
当然两个表 有关联字段  

如 :tb1
sid          zt
001          教师阅览室
005          学生阅览室

表2:tb2 :
sid           gc
001           党办室
001           后勤
...
005           印刷厂

现在想把  tb2 字段更新为 tb1  zt 内容  关联字段 sid 

我用 vfp  6.0  写个prg  死循环了   


  

9 个解决方案

#1


直接生成新表:
select * into dbf newtt from tb2 a left join tb1 a
on a.sid=b.sid

#2


引用 1 楼 wwwwb 的回复:
直接生成新表: 
select * into dbf newtt from tb2 a left join tb1 a 
on a.sid=b.sid


这是两个 单独的 表  

不是要 建立关联 是更新字段 内容  

#3


呵呵,你测试过了吗?除了多几个字段,比更新快得多。

or

select b.sid,a.zt into dbf newtt from tb2 a left join tb1 a
on a.sid=b.sid 

#4


[Quote=引用 3 楼 wwwwb 的回复:]
select b.sid,a.zt into dbf newtt from tb2 a left join tb1 a 
on a.sid=b.sid                            

select a.sid,b.zt into dbf 表 from tb2 a left join tb1 b on a.sid = b.sid

#5


VFP6.0:

Use tb1
Scan
Update tb2 Set tb2.gc=tb1.zt Where tb2.sid=tb1.sid
Endscan

#6


如果是VFP9.0:

Update tb2 Set tb2.gc=tb1.zt From tb1 Where tb2.sid=tb1.sid

#7


13 都出手 果然全面  
佩服 呀 

我最后也是用 9.0  写一个sql   6.0  太麻烦了  

#8


引用 6 楼 apple_8180 的回复:
如果是VFP9.0: 


SQL codeUpdate tb2 Set tb2.gc=tb1.zt From tb1 Where tb2.sid=tb1.sid


这个应该可以啊,在9.0下。

#9


引用 6 楼 apple_8180 的回复:
如果是VFP9.0:

SQL codeUpdatetb2Settb2.gc=tb1.ztFromtb1Wheretb2.sid=tb1.sid


这个我用过,可行

#1


直接生成新表:
select * into dbf newtt from tb2 a left join tb1 a
on a.sid=b.sid

#2


引用 1 楼 wwwwb 的回复:
直接生成新表: 
select * into dbf newtt from tb2 a left join tb1 a 
on a.sid=b.sid


这是两个 单独的 表  

不是要 建立关联 是更新字段 内容  

#3


呵呵,你测试过了吗?除了多几个字段,比更新快得多。

or

select b.sid,a.zt into dbf newtt from tb2 a left join tb1 a
on a.sid=b.sid 

#4


[Quote=引用 3 楼 wwwwb 的回复:]
select b.sid,a.zt into dbf newtt from tb2 a left join tb1 a 
on a.sid=b.sid                            

select a.sid,b.zt into dbf 表 from tb2 a left join tb1 b on a.sid = b.sid

#5


VFP6.0:

Use tb1
Scan
Update tb2 Set tb2.gc=tb1.zt Where tb2.sid=tb1.sid
Endscan

#6


如果是VFP9.0:

Update tb2 Set tb2.gc=tb1.zt From tb1 Where tb2.sid=tb1.sid

#7


13 都出手 果然全面  
佩服 呀 

我最后也是用 9.0  写一个sql   6.0  太麻烦了  

#8


引用 6 楼 apple_8180 的回复:
如果是VFP9.0: 


SQL codeUpdate tb2 Set tb2.gc=tb1.zt From tb1 Where tb2.sid=tb1.sid


这个应该可以啊,在9.0下。

#9


引用 6 楼 apple_8180 的回复:
如果是VFP9.0:

SQL codeUpdatetb2Settb2.gc=tb1.ztFromtb1Wheretb2.sid=tb1.sid


这个我用过,可行