Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共10 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:如何使用多表查询

1楼
lihe60 发表于:2010/11/16 8:34:00

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.CommandText = " SELECT * FROM {表B} INNER JOIN {表C} ON {表B}.第一列 = {表C} .第一列"
dt = cmd.ExecuteReader()
For Each dr As DataRow In dt.datarows
    Output.show(dr("第一列"))
Next

 

在命令窗口执行此代码,为什么不出结果?

2楼
狐狸爸爸 发表于:2010/11/16 8:47:00

说明没有符合条件的行。

3楼
lihe60 发表于:2010/11/16 9:13:00
这是附件,条件明明是符合的,但为什么没有结果?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table

4楼
lihe60 发表于:2010/11/16 9:30:00
以下是引用狐狸爸爸在2010-11-16 8:47:00的发言:

说明没有符合条件的行。

贺老师,如何修正代码?

 

 

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.CommandText = " SELECT * FROM {表B} INNER JOIN {表C} ON {表B}.第一列 = {表C}.第一列"
dt = cmd.ExecuteReader()
For Each dr As DataRow In dt.datarows
messagebox.show(dr("第一列"))
Next

[此贴子已经被作者于2010-11-16 9:30:27编辑过]
5楼
lihe60 发表于:2010/11/16 9:50:00
盼大家献计献策
6楼
狐狸爸爸 发表于:2010/11/16 9:54:00

你的表B、表C的结构不同,所以查询之后不存在名称为"第一列"的列,否则这"第一列"到底是表B的还是表C的?

 

对于同名的列,应该明确来源表:

 

SELECT {表B}.第一列,{表C}.第二列  FROM {表B} INNER JOIN {表C} ON {表B}.第一列 = {表C}.第一列

 

 

7楼
lihe60 发表于:2010/11/16 10:09:00

运行表B中的窗口,表C的记录为什么查不到呢?

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目8.table

8楼
狐狸爸爸 发表于:2010/11/16 10:35:00

我测试执行了。

Foxtable有一个SQL执行窗口,可以直接执行Select语句,很方便,多测试,多实验

9楼
lihe60 发表于:2010/11/16 10:45:00
以下是引用狐狸爸爸在2010-11-16 10:35:00的发言:

我测试执行了。

Foxtable有一个SQL执行窗口,可以直接执行Select语句,很方便,多测试,多实验

经多次测试,此代码是可以用的。但必须第一列的数据相同的才输出,数据不同的不能输出。

若把表B和表C的所有数据有条件(按字段或表达式)多表查询,这样的代码怎么写。merger是可以实现的,但速度可能较慢。

[此贴子已经被作者于2010-11-16 10:45:34编辑过]
10楼
lihe60 发表于:2010/11/16 12:13:00

前几天,一位老兄说用了一百多个表,不知这位老兄是怎么实现多表查询的?

共10 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03223 s, 4 queries.