Foxtable(狐表)用户栏目专家坐堂 → [求助]生成的SQL查询表


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

主题:[求助]生成的SQL查询表

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/22 18:34:00 [显示全部帖子]


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/22 19:43:00 [显示全部帖子]

如何展示在一张表里面?表A有3列10行,表B有三列5行,最后得到的查询表是怎样的?


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/22 20:20:00 [显示全部帖子]

Dim dt1 As DataTable = DataTables("表A")
Dim dt2 As DataTable = DataTables("表B")
Dim sql As String = ""
Dim s1,s2 As String
For Each dc As DataCol In dt1.datacols
    If dc.Expression = "" Then
        s1 &= dc.name & ","
        s2 &= "'' as " & dc.name & ","
    End If
Next
For Each dc As DataCol In dt2.datacols
    If dc.Expression = "" Then
        s1 &= "'' as " & dc.name & ","
        s2 &= dc.name & ","
    End If
Next
sql &= "select " & s1.trim(",") & " from {" & dt1.name & "}"
sql &= " union all Select " & s2.trim(",") & " from {" & dt2.name & "}"
output.show(sql)

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/22 22:19:00 [显示全部帖子]

 回复7楼,最好还是指定表名_列名,不然你引用的时候,有可能列名重复。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/22 22:54:00 [显示全部帖子]

Dim dt1 As DataTable = DataTables("表A")
Dim dt2 As DataTable = DataTables("表B")
Dim sql As String = ""
Dim s1,s2 As String
For Each dc As DataCol In dt1.datacols
    If dc.Expression = "" Then
        s1 &= dc.name & " as " & dt1.name & "_" & dc.name & ","
        s2 &= "'' as " & dc.name & ","
    End If
Next
For Each dc As DataCol In dt2.datacols
    If dc.Expression = "" Then
        s1 &= "'' as " & dt2.name & "_"  & dc.name & ","
        s2 &= "[" & dc.name & "],"
    End If
Next
sql &= "select " & s1.trim(",") & " from {" & dt1.name & "}"
sql &= " union all Select " & s2.trim(",") & " from {" & dt2.name & "}"
output.show(sql)

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/22 23:07:00 [显示全部帖子]

先看懂12楼代码,多个表,就是一个循环而已。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/23 10:18:00 [显示全部帖子]

 1、access数据库最大列数是255;

 

 2、请照抄12楼代码;

 

 3、你可以用这种方式新建表,然后填充各个表的数据,参考

 

http://www.foxtable.com/webhelp/scr/0679.htm

 

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/23 11:14:00 [显示全部帖子]

以下是引用blsu33在2017/10/23 10:21:00的发言:

o  原因找到了 生成的字符串 超过了255 怎么定义一个备注型呢?

 

列数的确超过255的,SQL2005列数有限制吗?

 

[此贴子已经被作者于2017/10/23 10:31:15编辑过]

 

sqlserver没有列数限制。

 

新建表,尽量用这种方法 http://www.foxtable.com/webhelp/scr/0679.htm

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/23 11:16:00 [显示全部帖子]

以下是引用blsu33在2017/10/23 10:49:00的发言:

FOXTABLE 加载进来的临时表是从SQL的表列 进来的是不是也是不能超过255

 

 

sqlserver没有列数限制。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/23 13:55:00 [显示全部帖子]

 回复22楼,可以的。

 回到顶部
总数 12 1 2 下一页