主题:A表x字段值 B表y字段值对应,如何B.z代替A.x
琅拿度
[专家分:2820] 发布于 2009-06-08 11:48:00
A表x字段值 B表y字段值对应,如何在相等的情况下,用B.z代替A.x ?
一对一,一对多这些东西缺乏研究,要学习一下了
回复列表 (共18个回复)
沙发
琅拿度 [专家分:2820] 发布于 2009-06-08 12:43:00
A表:
x字段
A
B
C
B表
y字段 z字段
C 1
A 3
B 2
板凳
alpen [专家分:1140] 发布于 2009-06-08 12:47:00
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 楼
alpen [专家分:1140] 发布于 2009-06-08 12:58:00
现生成个表aabbcc
x字段=y字段 z字段
C 1
A 3
B 2
4 楼
琅拿度 [专家分:2820] 发布于 2009-06-08 13:52:00
可能是我表达能力不行,让你误会了,我的意思是:
即是:如果A中x字段值为A,就用B中y字段值也是A的记录的z字段值去替换A中的x字段值。
所以本例最终要求的结果是:
A表:
x字段
3 (原值为A)
2 (原值为B)
1 (原值为C)
5 楼
Vii [专家分:1130] 发布于 2009-06-08 13:53:00
UPDATE TABLE1 SET X=B.Z FROM TABLE1 A,TABLE2 B WHERE A.X=B.Y
6 楼
liupeisong [专家分:2340] 发布于 2009-06-08 14:07:00
5楼正解
7 楼
琅拿度 [专家分:2820] 发布于 2009-06-08 14:23:00
UPDATE AA SET X=B.Z FROM AA A,BB B WHERE A.X=B.Y
“命令中含有不能识别的短语或关键字”
为何?我是6
8 楼
Vii [专家分:1130] 发布于 2009-06-08 14:56:00
SQL查询分析器里结果对的,可以执行.
我到9里一试,可以执行,但是结果不对.
a表的x所有都更新为b表的第一行b.z
奇怪.
9 楼
alpen [专家分:1140] 发布于 2009-06-08 14:58:00
哈哈,vfp 6.0
Remarks
UPDATE - SQL can only update records in a single table.
update只能单表操作啊
所以我让你先生成个表,再考虑update
10 楼
alpen [专家分:1140] 发布于 2009-06-08 14:59:00
所以就用笨办法啦,做个循环
一条一条update
我来回复