| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1293 人关注过本帖
标题:[求助]没有直接联系的两表.如何合成?
只看楼主 加入收藏
Newtion
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2007-11-18
收藏
 问题点数:0 回复次数:4 
[求助]没有直接联系的两表.如何合成?
有表1和表2如下:

表1
姓名  数量  金额
张三   1    25.00
李四   3    50.00
王五   2    45.00

表2
序号  单号  票号
 1   1752   2053
  2   1753   2054
  3   1754   2055

怎样才能产生如下的表3?

表3
姓名  数量  金额  单号  票号
张三   1    25.00  1752   2053
李四   3    50.00  1753   2054
王五   2    45.00  1754   2055

**1. 表1和表2没有直接关系.
**2. 表1和表2记录数相同.

或者说,有一空表3.怎样才能把相同记录数的表1和表2导入其中?
搜索更多相关主题的帖子: 李四 票号 张三 单号 
2008-01-10 05:37
Tiger5392
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:88
帖 子:2775
专家分:2237
注 册:2006-5-17
收藏
得分:0 
Create Cursor 表1 (姓名 C(8),数量 N(4),金额 N(12,2))
Insert Into 表1 Values ('张三',1,25.00)
Insert Into 表1 Values ('李四',3,50.00)
Insert Into 表1 Values ('王五',2,45.00)
Create Cursor 表2 (序号 C(2),单号 C(4),票号 C(4))
Insert Into 表2 Values ('1','1752','2053')
Insert Into 表2 Values ('2','1753','2054')
Insert Into 表2 Values ('3','1754','2055')
Create Cursor 表3 (姓名 C(8),数量 N(4),金额 N(12,2),序号 C(2),单号 C(4),票号 C(4))
For lnCnt=1 To Reccount('表1')
  Select 表1
  Go lnCnt
  Store 姓名 To lcX1
  Store 数量 To lnX2
  Store 金额 To lnX3
  Select 表2
  Go lnCnt
  Store 序号 To lcX4
  Store 单号 To lcX5
  Store 票号 To lcX6
  Insert Into 表3 Values(lcX1,lnX2,lnX3,lCx4,lcX5,lcX6)
EndFor
Select * From 表3
Return

感言:学以致用。 博客:http://www./blog/user14/65009/index.shtml email:Tiger5392@
2008-01-10 22:26
Newtion
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2007-11-18
收藏
得分:0 
谢谢老虎版主提供的解决办法.
也许我说的不够明白吧.表1是已有的表(每日数据大约有600条,录入顺序不定).
表2是根据表1的记录数产生出来的表,初始单号和初始票号可自由设定,单号和票号是连续的,步长为1.表1和表2没有直接联系.只有记录数相等.
需要解决的问题是要将表2产生的单号和票号填写到表1相应该的位置中去(表3结果).
**表1,表2,表3是已有的表.

我取用的笨方法如下:
CLOSE DATABASE
SELE 1
USE 表2
GO TOP
SELE 2
USE 表3
ZAP
APPEND FROM 表1
GO TOP
DO WHILE !EOF()
    REPL 单号 WITH 表2.单号
    REPL 票号 WITH 表2.票号
    SELE 1
    SKIP
    SELE 2
    SKIP
ENDDO

能正确得出结果.但我总觉得方法不科学,请大家指点一下.
**只懂过程式编程,SQL等方法还只是皮毛.见笑啦.

2008-01-11 21:30
Tiger5392
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:88
帖 子:2775
专家分:2237
注 册:2006-5-17
收藏
得分:0 
能解决问题就行。但,你的表1和表2必须用一个字段连接起来才好。

感言:学以致用。 博客:http://www./blog/user14/65009/index.shtml email:Tiger5392@
2008-01-14 15:14
Newtion
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2007-11-18
收藏
得分:0 
就是因为找不着共公字段,所以不知道如何连接.两表唯一共同点是记录号(系统自动产生的那个Record)相同,可记录号偏偏不能作为连接条件,也因为记录数相等,才想到用记录指针的办法来REPLACE.

另外,关联和更新遇着个问题:用一个表(表2)的数据去更新另一个表(表1).
两表有公共字段"代码",要用表2的"销售地点"字段去更新表1对应代码中的"销售地点".表2代码唯一,但表1有多个匹配字段记录.用UPDATE命令只能更新对应对码的第一个匹配记录,其余匹配字段记录全忽略掉了 - -!

UPDATE ON 代码 FROM 表2 REPLACE 表1.销售地点 WITH 表2.销售市场
(UPDATE - SQL命令不会写,见笑)

2008-01-16 03:25
快速回复:[求助]没有直接联系的两表.如何合成?
数据加载中...
 
   



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

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