Foxtable(狐表)用户栏目专家坐堂 → sql问题


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

主题:sql问题

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


加好友 发短信
等级:超级版主 帖子:107440 积分:546479 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/10/13 9:47:00 [只看该作者]

意思是把“生成考室考号”表的数据转换为“班级安排”这种格式的表格数据?

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


加好友 发短信
等级:小狐 帖子:324 积分:3807 威望:0 精华:0 注册:2008/9/1 7:34:00
  发帖心情 Post By:2020/10/13 11:00:00 [只看该作者]

对,实质也就是数据转换。

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


加好友 发短信
等级:超级版主 帖子:107440 积分:546479 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/10/13 11:23:00 [只看该作者]

科目多使用sql 反而麻烦,建议使用代码处理:http://www.foxtable.com/webhelp/topics/2965.htm

或者直接做个交叉统计:http://www.foxtable.com/webhelp/topics/0678.htm

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


加好友 发短信
等级:小狐 帖子:324 积分:3807 威望:0 精华:0 注册:2008/9/1 7:34:00
  发帖心情 Post By:2020/10/13 11:29:00 [只看该作者]

用代码处理就是方便很多。谢谢蓝版!!!

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


加好友 发短信
等级:小狐 帖子:324 积分:3807 威望:0 精华:0 注册:2008/9/1 7:34:00
  发帖心情 Post By:2020/10/16 15:27:00 [只看该作者]

蓝版,以下这个设计效率很低,能帮助优化一下吗?谢谢


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:以下是考室地点查询数据.rar


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


加好友 发短信
等级:超级版主 帖子:107440 积分:546479 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/10/16 15:37:00 [只看该作者]

优化一点点,其它科目自己补上,如果还是慢,可能要从表结构设计上考虑了

If e.DataCol.Name = "考试科目_准考证号" Then
    If e.NewValue Is Nothing Then
        e.DataRow("语数英物历_考室地点") = Nothing
        e.DataRow("化学_考室地点") = Nothing
    Else
        Dim dr As DataRow
        
        dr = DataTables("生成考室考号").Find("[准考证号] = '" & e.NewValue & "' And [类别]  Like '物*'")
        If dr IsNot Nothing Then
            e.DataRow("语数英物历_考室地点") = dr("考室地点")
        End If
        dr = DataTables("生成考室考号").Find("[准考证号] = '" & e.NewValue & "' And [类别]  Like '化*'")
        If dr IsNot Nothing Then
            e.DataRow("化学_考室地点") = dr("考室地点")
        End If
    End If
End If


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


加好友 发短信
等级:小狐 帖子:324 积分:3807 威望:0 精华:0 注册:2008/9/1 7:34:00
  发帖心情 Post By:2020/10/16 15:51:00 [只看该作者]

谢谢蓝版!整体做出后速度还是很慢,请问蓝版,这个能不能改为sql语句?

If e.DataCol.Name = "考试科目_准考证号" Then

    If e.NewValue Is Nothing Then

        e.DataRow("语数英物历_考室地点") = Nothing

    Else

        Dim dr As DataRow

      

        dr = DataTables("生成考室考号").Find("[准考证号] = '" & e.NewValue & "' And [类别]  Like '*'")

        If dr IsNot Nothing Then

            e.DataRow("语数英物历_考室地点") = dr("考室地点")

        End If

    End If

End If



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


加好友 发短信
等级:超级版主 帖子:107440 积分:546479 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/10/16 15:59:00 [只看该作者]

请上传实例说明,不知道表结构和数据,无法回答

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


加好友 发短信
等级:小狐 帖子:324 积分:3807 威望:0 精华:0 注册:2008/9/1 7:34:00
  发帖心情 Post By:2020/10/16 16:35:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:跨表引用.table


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


加好友 发短信
等级:超级版主 帖子:107440 积分:546479 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/10/16 16:54:00 [只看该作者]

update {班级安排表},{生成考室考号} set {班级安排表}.[语数英物历_考室地点]={生成考室考号}.考室地点 where {班级安排表}.考试科目_准考证号={生成考室考号}.准考证号 And {生成考室考号}.类别  Like '物%'

update {班级安排表},{生成考室考号} set {班级安排表}.[化学_考室地点]={生成考室考号}.考室地点 where {班级安排表}.考试科目_准考证号={生成考室考号}.准考证号 And {生成考室考号}.类别  Like '%'

 回到顶部
总数 23 上一页 1 2 3 下一页