Foxtable(狐表)用户栏目专家坐堂 → 内部数据源关联外部数据源问题


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

主题:内部数据源关联外部数据源问题

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


加好友 发短信
等级:小狐 帖子:344 积分:3493 威望:0 精华:0 注册:2015/8/16 19:06:00
内部数据源关联外部数据源问题  发帖心情 Post By:2016/2/22 11:26:00 [只看该作者]

同一数据源sel ect * from 表A where 表A.金额 not in (sel ect 金额 from 表B where 表A.编码=表B.编码)
若两个表分别为不同数据源
内部数据源中有一个表A,表中有编码、金额两列
外部数据源中有一个表B,表中也有编码、金额两列
想查询表B中编码=表A中编码 且 表B中金额<>表A中金额怎么写?

[此贴子已经被作者于2016/2/22 11:29:04编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/22 12:23:00 [只看该作者]

不同的数据源,不能直接写sql语句。

 

你要用代码处理,如

 

Dim idx As String = "-1,"
For Each dr As DataRow In DataTables("表A").DataRows
    If DataTables("表B").find("编码 = '" & dr("编码") & "' and 金额 = '" & dr("金额") & "'") Is Nothing Then
        idx &= dr("_Identify") & ","
    End If
Next
Tables("表A").Filter = "_Identify in (" & idx.trim(",") & ")"


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


加好友 发短信
等级:小狐 帖子:344 积分:3493 威望:0 精华:0 注册:2015/8/16 19:06:00
  发帖心情 Post By:2016/2/22 14:10:00 [只看该作者]


[此贴子已经被作者于2016/2/22 14:15:46编辑过]

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


加好友 发短信
等级:小狐 帖子:344 积分:3493 威望:0 精华:0 注册:2015/8/16 19:06:00
  发帖心情 Post By:2016/2/22 14:16:00 [只看该作者]

你好老师,我是要查出来表B中的所有编码=表A中编码 并且 金额不等于表A中该编码所对应的金额的数据
例如:
表A                       表B
数量    金额          数量   金额
10      100          10     100
10      101          10     101
20    200        10   102
20      201          10     103
                         20     200
                         20     201
                         20     202
查询结果
编码   金额
10     102
10     103
20     202

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/22 14:28:00 [只看该作者]

 

[此贴子已经被作者于2016/2/22 14:28:28编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/22 14:32:00 [只看该作者]

Dim idx As String = "-1,"
For Each dr As DataRow In DataTables("表B").DataRows
    If DataTables("表A").find("编码 = '" & dr("编码") & "'") IsNot Nothing Then
        If DataTables("表B").find("编码 = '" & dr("编码") & "' and 金额 <> '" & dr("金额") & "'") Is Nothing Then
            idx &= dr("_Identify") & ","
        End If
    End If
Next
Tables("表B").Filter = "_Identify in (" & idx.trim(",") & ")"

 回到顶部