> 唯美句子 > VFP中关于joinwith命令

VFP中关于joinwith命令

VFP 中 关于join with 命令

回答您的问题:

新生成的表的记录数为:满足条件(相同学号)的记录数。

解释:

现在一般不怎么用这个命令了,它是实现两表连接生成一个新表的。

该命令格式是:

join with 另一个表名或工作区别名 to 新表名 for 连接条件 fields 新表所含字段

新表中只含有满足连接条件的记录。(相当于SQL的两表内联)

觉得好请采纳 谢谢!

vfp6.0 join 问题

合并库方法

SELECT B

USE XX (需要合并的DBF文件)(对应待合并库只有一条记录)

SELECT A

USE YY(需要合并的DBF文件)

join with B to ZZ(合并后的DBF文件)for dm=B.dm(dm为两库联结字段)[fiel bmh,b.xm,b.zxdh,zxdh2](可选合并后的字段,如字段位于XX中注明b)

请问vfp6 JOIN怎么使用

select id 表1.a,表2.b from 表一 full join on 表1.id=表2.id into table 表3

VFP中关于连接查询的问题 where... = ... 和 join...on...结果的区别?

第1种相当于Inner Join,即示temp1,temp2的交集

第2种可以包括Left Join,Right Join,Full Join,Inner Join具体含意看单词就明白了

vfp left join 包含

select * from A left join B on a.content = b.gjz

注:left join是以左表为准的,左表(A)的记录将会全部表示出来,而右表(B)只会显示符合搜索条件的记录。B表记录不足的地方均为NULL。

vfp6.0中的join命令怎么使用,最好有实例,谢谢!

join的命令格式我忘了,但是只要有for短语出现,其后肯定跟的是表达式,而上面没一项符合表达式的书写规格

2级VFP,SQL哪种情况下用 inner join .........on...... 语句

不知你说的用逗号连接是怎么回事,如果两个表要连接查询结果的话肯定要用到下面四种情况的一种。不是INNER JOIN的连接就是其他三种情况之一。

具体举个例子

SELECT a.xh, a.yw, b.xx FROM a INNER JOIN b ON a.xh =b.xh

其中a.xh, a.yw, b.xx是显示的结果中包含的字段,FROM a INNER JOIN b 是结果中的字段来自哪两个怎么关联的表,ON a.xh =b.xh是两个表关联的关键字段。这是最简单的两个表的连接查询,必须要有这三个基本内容。至于排序、分组等功能的实现再另外加条件就行了。

_____________________________

两表连接有四种情况:

INNER JOIN 只有在其他表中包含对应记录(一个或多个)的记录才出现在查询结果中。即JOIN左右两则所有的匹配记录。

LEFT [OUTER] JOIN 在查询结果中包含:JOIN 左侧表中的所有记录,以及JOIN 右侧表中匹配的记录。OUTER 关键字可被省略;包含 OUTER 强调这是一个外连接 (outer join)。

RIGHT [OUTER] JOIN 在查询结果中包含:JOIN 右侧表中的所有记录,以及 JOIN 左侧表中匹配的记录。OUTER 关键字可被省略;包含 OUTER 强调这是一个外连接接 (outer join)。

FULL [OUTER] JOIN 在查询结果中包含:JOIN 两侧所有的匹配记录,和不匹配的记录;包含 OUTER 强调这是一个外连接 (outer join)。

比如两表A为语文成绩,B为数学成绩,通过学号XH连接,显示A.XH,A.YW,B.XH,B.XX:

A: B:

xh yw xh xx

1 80 1 90

2 85 3 70

3 60 4 50

1)、inner join 的结果为

1 80 1 90

3 60 3 70

2)、right join的结果为

1 80 1 90

3 60 3 70

.null. .null. 4 50

3)、left joinr的结果为

xh yw xh xx

1 80 1 90

2 85 .null. .null

3 60 3 70

4)、full joinr的结果为

xh yw xh xx

1 80 1 90

2 85 .null. .null.

3 60 3 70

.null. .null. 4 50

vfp命令语句jion on怎么用?

首先看一个简单的例子,是我曾做过的一个菜单项的一部分内容:

SELECT 收费.序号,收费.id1,学生.专业,学生.年级,学生.层次,学生.形式,学生.学号,学生.姓名,收费.时间,收费.收据编号,收费.所属学期,;

收费.缴费方式,收费.收费部门,收费.减免金额,收费.本期实交,收费.备注,学生.班级号,学生.学校 INTO DBF xuesheng.DBF FROM 学生 inner JOIN 收费 ;

ON 学生.id1=收费.id1 ORDER BY 收费.序号

有两个表:

1、学生:主要存储学生的相关信息,有id1、专业、年级、层次、形式、学号、姓名、学号、班级号、学校等字段,id1在学生表中的记录是不重复的。

2、收费:主要存储收费的相关信息,有id1、序号、时间、收据编号、所属学期、缴费方式、收费部门、减免金额、本期实交、备注等字段

上一语句的作用是以id1作为连接学生表和收费表的字段,连接方式是内连接inner,排序依据是收费表的序号,连接结果存入表xuesheng。

再体会一下我做过的另一个菜单项

IF USED('学生')

SELECT 学生

ELSE

USE 学生 IN 0 AGAIN

ENDIF

SELECT 学生.id1,学生.班级号,学生.专业,学生.年级,学生.层次,学生.形式,学生.学号,学生.姓名,标准.所属学期,SUM(标准.学费) AS 学费,SUM(标准.书籍费) AS 书籍费,;

SUM(标准.其他) AS 其他,SUM(标准.合计) AS 合计,100000000.00-100000000.00 AS 减免金额,;

100000000.00-100000000.00 AS 本期应交,;

100000000.00-100000000.00 AS 本期实交,100000000.00-100000000.00 AS 欠交金额 ;

FROM 学生 JOIN 标准 ON 学生.id1=标准.id1 ;

GROUP BY 学生.id1,学生.班级号,学生.专业,学生.年级,学生.层次,学生.形式,学生.学号,学生.姓名,标准.所属学期,标准.学费,;

标准.书籍费,标准.其他,标准.合计 ;

UNION ;

SELECT 学生.id1,学生.班级号,学生.专业,学生.年级,学生.层次,学生.形式,学生.学号,学生.姓名,收费.所属学期,0,0,0,0,SUM(收费.减免金额) AS 减免金额,;

100000000.00-100000000.00 AS 本期应交,SUM(收费.本期实交) AS 本期实交,100000000.00-100000000.00 AS 欠交金额 ;

FROM 学生 JOIN 收费 ON 学生.id1=收费.id1 ;

GROUP BY 收费.所属学期,学生.id1,学生.班级号,学生.专业,学生.年级,学生.层次,学生.形式,学生.学号,学生.姓名 ;

INTO DBF xstotal_.DBF

SELECT id1,班级号,专业,年级,层次,形式,学号,姓名,所属学期,SUM(学费) AS 学费,SUM(书籍费) AS 书籍费,SUM(其他) AS 其他,;

SUM(合计) AS 合计,SUM(减免金额) AS 减免金额,SUM(本期应交) AS 本期应交,SUM(本期实交) AS 本期实交,;

SUM(欠交金额) AS 欠交金额 INTO DBF xstotal.DBF GROUP BY 所属学期,专业,年级,层次,形式,学号,姓名,id1,班级号 FROM xstotal_ ;

ORDER BY 专业,年级,层次,形式,学号,姓名,所属学期

SELECT xstotal

REPLACE ALL 本期应交 WITH 合计-减免金额,欠交金额 WITH 本期应交-本期实交

CLOSE ALL

DO FORM 统计1

menuav=0

你将上述命令复制到一个程序文件如test.prg中,用“工具-美化(...)”就能很清楚看到其中的层次。

vfp中,内部链接,左链接右链接完全连接分别是什么

我是这个学期考的vfp,不过我们课本的写的是联接,不知道是不是你想要的。

INNER JOIN等价于JION,为普通的联接,即内部联接:只能满足联接条件的记录才出现在查询结果中;

LEFT JOIN左联接:除满足联接条件的记录出现在结果中外,左表中不满足联接条件的记录也出现在结果中;

RIGHT JOIN右联接:除满足联接条件的记录出现在结果中外,右表中不满足联接条件的记录也出现在结果中;

FULL JOIN全联接:除满足联接条件的记录出现在结果中外,左右表中不满足联接条件的记录也出现在结果中;

不满足联接条件的记录对应部分为NULL。

vfp中,select xs.xh,xs.xm from jxsj!xs inner join jxsj!yxzy on xs.yxzydm=yxzydm 这个代码

jxsj 是数据库名称, xs是表名称

!是分隔符,就像表名和字段之间是用点号(.)分隔

VFP中关于joinwith命令:等您坐沙发呢!

发表评论

您必须 [ 登录 ] 才能发表留言!