Foxtable(狐表)用户栏目专家坐堂 → [求助]这个多表查询代码怎么写?


  共有5906人关注过本帖平板打印复制链接

主题:[求助]这个多表查询代码怎么写?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/8/16 22:30:00 [只看该作者]

 在命令窗口里运行下面的代码便可。

Dim otherdt As String = "日历|其他表"
Dim sqlstr As String = ""
For Each dt As DataTable In DataTables
    If dt.Caption IsNot Nothing AndAlso otherdt.Contains(dt.Caption) = False AndAlso otherdt.Contains(dt.Name) = False Then
        sqlstr += "select '" & dt.Caption & "' As 股piao, 时间, CDbl(left(涨幅, len(涨幅)-1)) as 涨幅 from {" & dt.Name & "}"
        sqlstr += " union "
    End If
Next
sqlstr = sqlstr.SubString(0, sqlstr.Length - 7)
sqlstr = "select * from (" & sqlstr & ") As t1 left join {日历} as t2 on (t1.时间=t2.公历年月日)"

Dim q As new QueryBuilder
q.TableName = "股piao汇总"
q.SelectString = sqlstr
q.Build
MainTable = Tables("股piao汇总")

'---------------
Dim g As New CrossTableBuilder("统计表1", DataTables("股piao汇总"))
g.HGroups.AddDef("星期")
g.VGroups.AddDef("股piao")
g.Totals.AddDef("涨幅", AggregateEnum.Average, "涨幅")
g.Build()
MainTable = Tables("统计表1")

'-----------------
g = New CrossTableBuilder("统计表2", DataTables("股piao汇总"))
g.HGroups.AddDef("农历日")
g.VGroups.AddDef("股piao")
g.Totals.AddDef("涨幅", AggregateEnum.Average, "涨幅")
g.Build()
MainTable = Tables("统计表2")


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