Foxtable(狐表)用户栏目专家坐堂 → [求助]用sql 语句来跨表查询


  共有2753人关注过本帖树形打印复制链接

主题:[求助]用sql 语句来跨表查询

帅哥哟,离线,有人找我吗?
fczhaobo
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:394 积分:4047 威望:0 精华:0 注册:2017/3/24 15:10:00
[求助]用sql 语句来跨表查询  发帖心情 Post By:2021/3/14 22:02:00 [只看该作者]

第一段代码用狐表语句实现的,目的是查询一下学员信息表中,查询一下,‘在校的学员中,在报名缴费表中还有多少记录没有结课。
结果第一段代码成功,用sql语句替代,无法实现。

For Each dr As DataRow In DataTables("学员信息").SQLS elect("是否在校 = '在校' And 分校编号='1008'")
Dim i As Integer=DataTables("报名缴费").SQLCompute("Count(*)", "学员编号 = '" & dr("学员编号") & "' And 课程状态<>'已结课'")
If i <>0 Then
output.show(dr("学员编号") & "+" & dr("学员姓名"))
End If
Next



Dim cmd As new SQLCommand
cmd.C
Dim dt As DataTable
cmd.CommandText = "S elect {学员信息}.学员编号 ,{学员信息}.学员姓名 F orm {学员信息} INNER JOIN {报名缴费} ON {学员信息}.学员编号 = {报名缴费}.学员编号 w here {学员信息}.是否在校 = '在校' And {学员信息}.分校编号 = '1008' and (S elect COUNT(*)  F ROM {报名缴费} w here {报名缴费}.学员编号 = {学员信息}.学员编号 And  {报名缴费}.课程状态 <> '已结课') = 0 "
dt = cmd.ExecuteReader() 

 回到顶部
帅哥哟,离线,有人找我吗?
fczhaobo
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:394 积分:4047 威望:0 精华:0 注册:2017/3/24 15:10:00
  发帖心情 Post By:2021/3/14 22:06:00 [只看该作者]

错误截图
[此贴子已经被作者于2021/3/14 22:06:43编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
fczhaobo
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:394 积分:4047 威望:0 精华:0 注册:2017/3/24 15:10:00
  发帖心情 Post By:2021/3/14 22:07:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20210314220455.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107718 积分:547917 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/14 22:21:00 [只看该作者]

cmd.CommandText = "Select {学员信息}.学员编号 ,{学员信息}.学员姓名 Form {学员信息} INNER JOIN {报名缴费} ON {学员信息}.学员编号 = {报名缴费}.学员编号 where {学员信息}.是否在校 = '在校' And {学员信息}.分校编号 = '1008' and not EXISTS (Select 学员编号  FROM {报名缴费} where {报名缴费}.学员编号 = {学员信息}.学员编号 And  {报名缴费}.课程状态 <> '已结课') "

 回到顶部
帅哥哟,离线,有人找我吗?
fczhaobo
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:394 积分:4047 威望:0 精华:0 注册:2017/3/24 15:10:00
  发帖心情 Post By:2021/3/15 8:26:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:12345678.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107718 积分:547917 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/15 8:43:00 [只看该作者]

cmd.CommandText = "Select a.学员编号,a.学员姓名 Form {学员信息} as a INNER JOIN {报名缴费} as b ON a.学员编号 = b.学员编号 where a.是否在校 = '在校' And a.分校编号 = '1008' and not EXISTS (Select 学员编号  FROM {报名缴费} as c where c.学员编号 = a.学员编号 And  c.课程状态 <> '已结课') "

 回到顶部
帅哥哟,离线,有人找我吗?
fczhaobo
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:394 积分:4047 威望:0 精华:0 注册:2017/3/24 15:10:00
  发帖心情 Post By:2021/3/15 9:10:00 [只看该作者]

老师,还是不行,错误 一样,实在郁闷了图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107718 积分:547917 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/15 9:33:00 [只看该作者]

把sql去掉大括号放到数据库执行看看

 回到顶部