sql 表1中a字段内容要修改为表2中B字段的内容,语句怎么写

作者&投稿:绪嵇 (若有异议请与网页底部的电邮联系)
VFP中字段A为1,对应的字段B为2中,如何将字段B批量替换为3~

replace 字段B with 3 all for 字段A=字段B
应该是这样

update a set b=d where b=c
请注意C的类型,如果是字符型要加单引号如 b='c', b='d',如果是数值型则不用,如,B=3就行了

select a.学生名,b.联系电话 from 表1 a inner join (select 学生ID,min(联系电话) as 联系电话 from 表2 group by 学生ID) b on a.学生ID=b.学生ID
回答者:lazy67 - 高级经理 七级 7-30 13:14
这个查出来是联系电话最小的那个 而不是第一个

如果利用ROWID机制的话对上面SQL进行一些改动:
SELECT A.学生名,B.联系电话 FROM 表1 A,表2 B
WHERE A.学生ID = B.学生ID AND B.ROWID IN (SELECT MIN(ROWID) FROM 表B GROUP BY ID)
我手边只有ORACLE 10G 测试成功
不知道是不是所有数据库都有ROWID机制


假设表1与表2是通过id这个字段关联的 那么 应该这样写
update 表1
set a=b
from 表2
wher 表2.id=表1.id

uddate 表1 set a = 表2.B

表2中B字段的值是唯一的么?表1中的a字段和表2中B字段数据一样多么? 你说的不清楚啊,没法给你写