标题:如何把a表的列插入b表的列
只看楼主
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:5 



CREATE CURSOR ta (a1 I, a2 I)
FOR i=1 TO 10
    INSERT INTO ta VALUES (i,i*2)
ENDFOR
CREATE CURSOR tb (b1 I, b2 I)
FOR i=1 TO 10
    INSERT INTO tb VALUES (i,i*4)
ENDFOR
SELECT b.b1, a.a2, b.b2 FROM ta a, tb b WHERE a.a1==b.b1
* or
SELECT b.b1, a.a2, b.b2 FROM ta a JOIN tb b ON a.a1==b.b1

[此贴子已经被作者于2020-3-4 05:39编辑过]

2020-03-04 04:59
阿金679911
Rank: 1
等 级:新手上路
帖 子:14
专家分:7
注 册:2020-3-3
得分:0 
回复 8楼 xuminxz
请赐教!
2020-03-04 09:50
阿金679911
Rank: 1
等 级:新手上路
帖 子:14
专家分:7
注 册:2020-3-3
得分:0 
回复 11楼 吹水佬
我正在学习
2020-03-04 09:56
阿金679911
Rank: 1
等 级:新手上路
帖 子:14
专家分:7
注 册:2020-3-3
得分:0 
回复 11楼 吹水佬
不是这样的,

是把
    Tb表的B2插入Ta表的B2
    Tb表的B3插入Ta表的B3
    Tb表的B4插入Ta表的B4
    Tb表的B5插入Ta表的B5

前面相同的是“序号”(两个表都编好序号且相同)

请赐教!
2020-03-04 10:10
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册:2015-3-25
得分:5 
以下是引用阿金679911在2020-3-4 10:10:15的发言:
不是这样的,
是把
    Tb表的B2插入Ta表的B2
    Tb表的B3插入Ta表的B3
    Tb表的B4插入Ta表的B4
    Tb表的B5插入Ta表的B5
前面相同的是“序号”(两个表都编好序号且相同)
请赐教!

*!*    Tb表的B2插入Ta表的B2
*!*    Tb表的B3插入Ta表的B3
*!*    Tb表的B4插入Ta表的B4
*!*    Tb表的B5插入Ta表的B5
*!*    两个表都编好序号且相同
   
*!* 测试数据

CREATE CURSOR Tb(序号 I,B2 I,B3 I,B4 I,B5 I)
INSERT INTO Tb(序号,B2,B3,B4,B5) VALUES (1,11,11,11,11)
INSERT INTO Tb(序号,B2,B3,B4,B5) VALUES (3,33,33,33,33)
INSERT INTO Tb(序号,B2,B3,B4,B5) VALUES (5,55,55,55,55)
INSERT INTO Tb(序号,B2,B3,B4,B5) VALUES (2,22,22,22,22)
INSERT INTO Tb(序号,B2,B3,B4,B5) VALUES (4,44,44,44,44)
INSERT INTO Tb(序号,B2,B3,B4,B5) VALUES (6,66,66,66,66)
INSERT INTO Tb(序号,B2,B3,B4,B5) VALUES (8,88,88,88,88) && 故意多1条记录

*!* SQL 方法,VFP9.0(一)
CREATE CURSOR Ta(序号 I,B2 I,B3 I,B4 I,B5 I)
INSERT INTO Ta(序号) VALUES (1)
INSERT INTO Ta(序号) VALUES (2)
INSERT INTO Ta(序号) VALUES (3)
INSERT INTO Ta(序号) VALUES (4)
INSERT INTO Ta(序号) VALUES (5)
INSERT INTO Ta(序号) VALUES (6)
INSERT INTO Ta(序号) VALUES (7) && 故意多1条记录

 UPDATE ta SET ta.b2=tb.b2,ta.b3=tb.b3,ta.b4=tb.b4,ta.b5=tb.b5 from ta,tb WHERE ta.序号 = tb.序号
 SELECT ta
 BROWSE

*!* VFP 方法,重新建立数据 (二)
CREATE CURSOR Ta(序号 I,B2 I,B3 I,B4 I,B5 I)
INSERT INTO Ta(序号) VALUES (1)
INSERT INTO Ta(序号) VALUES (2)
INSERT INTO Ta(序号) VALUES (3)
INSERT INTO Ta(序号) VALUES (4)
INSERT INTO Ta(序号) VALUES (5)
INSERT INTO Ta(序号) VALUES (6)
INSERT INTO Ta(序号) VALUES (9) && 故意多1条记录

*!* 建立索引
SELECT tb
INDEX on 序号 TAG 序号
SELECT ta
INDEX on 序号 TAG 序号

*!* 建立2表关联
SELECT ta
SET RELATION TO 序号 INTO tb

*!* 替换
SELECT ta
SCAN
  REPLACE ta.b2 WITH tb.b2,ta.b3 WITH tb.b3,ta.b4 WITH tb.b4,ta.b5 WITH tb.b5
ENDSCAN

BROWSE

2020-03-04 12:58
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
回复 14楼 阿金679911
示例给个思路,肯定不是一个样
我举一,你反三
2020-03-04 13:51
xuminxz
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:40
帖 子:749
专家分:2475
注 册:2011-5-8
得分:0 
我的理解是,两个表,结构与记录数相同,并且有关键字一一对应,欲从两表中分别取出一些列构成新表。这是标准的SQL -select命令完成的事情啊。

dBase有人接盘了。
2020-03-04 17:16
阿金679911
Rank: 1
等 级:新手上路
帖 子:14
专家分:7
注 册:2020-3-3
得分:0 
回复 18楼 xuminxz
不是
2020-03-05 14:59
henanlifeng
Rank: 1
等 级:新手上路
威 望:1
帖 子:4
专家分:0
注 册:2020-3-19
得分:0 
update a set a.xm=b.xm from 表y a,表x b,where a.序号=b.序号
*********
xm字段就是你表中的第五列的字段。
2020-03-19 10:08



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-499525-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.350230 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved