回 帖 发 新 帖 刷新版面

主题:A表x字段值 B表y字段值对应,如何B.z代替A.x

A表x字段值 B表y字段值对应,如何在相等的情况下,用B.z代替A.x ?

一对一,一对多这些东西缺乏研究,要学习一下了

回复列表 (共18个回复)

沙发

A表:
x字段
A
B
C


B表
y字段         z字段
C                 1
A                 3
B                 2

板凳


A表x字段值 B表y字段值对应,如何在相等的情况下,用B.z代替A.x 

我想能不能这样做:
现生成个表aabbcc
select a.x,b.y,b.z into curs aabbcc from a,b where a.x=b.y 
然后
update .....

3 楼

现生成个表aabbcc
x字段=y字段      z字段
C                 1
A                 3
B                 2

4 楼

可能是我表达能力不行,让你误会了,我的意思是:

即是:如果A中x字段值为A,就用B中y字段值也是A的记录的z字段值去替换A中的x字段值。
所以本例最终要求的结果是:


A表:
x字段
3       (原值为A)
2       (原值为B)
1       (原值为C)

5 楼

UPDATE TABLE1 SET X=B.Z FROM TABLE1 A,TABLE2 B WHERE A.X=B.Y

6 楼

5楼正解

7 楼

UPDATE AA SET X=B.Z FROM AA A,BB B WHERE A.X=B.Y

“命令中含有不能识别的短语或关键字”

为何?我是6

8 楼

SQL查询分析器里结果对的,可以执行.
我到9里一试,可以执行,但是结果不对.
a表的x所有都更新为b表的第一行b.z
奇怪.

9 楼


哈哈,vfp 6.0
Remarks
UPDATE - SQL can only update records in a single table.
update只能单表操作啊
所以我让你先生成个表,再考虑update

10 楼


所以就用笨办法啦,做个循环
一条一条update

我来回复

您尚未登录,请登录后再回复。点此登录或注册