Foxtable(狐表)用户栏目专家坐堂 → 请教实例


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

主题:请教实例

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


加好友 发短信
等级:狐神 帖子:5055 积分:13047 威望:0 精华:0 注册:2014/5/15 21:34:00
请教实例  发帖心情 Post By:2017/4/16 13:59:00 [只看该作者]

大师:见实例,请问如何快速求出表a中,任意两列值之和相等的两列的列名?   结果应为:第四列与第五列?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目20.rar


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107744 积分:548059 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/4/16 14:36:00 [只看该作者]

Dim clst As new List(of String)
For Each c As Col In Tables("表A").Cols
    If c.IsNumeric Then clst.Add(c.Name)
Next
If clst.Count > 0 Then
    Dim s1 As String = "select '{0}' as 列名, sum({0}) as 合计 from {表A}"
    Dim sql As String
    For Each cn As String In clst
        sql &= CExp(s1,cn) & " union all "
    Next
    sql = "select * from (" & sql.SubString(0,sql.Length - 10) & ") as a order by a.合计"
    Output.Show(sql)
    Dim cmd As new SQLCommand
    cmd.CommandText =  sql
    Dim dt As DataTable = cmd.ExecuteReader
    s1 =dt.DataRows(0)("列名")
    For i As Integer = 1 To dt.DataRows.Count-1
        If dt.DataRows(i-1)("合计") = dt.DataRows(i)("合计") Then
            s1 &= "," & dt.DataRows(i)("列名")
        Else
            Output.Show(s1)
            s1 =dt.DataRows(i)("列名")
        End If
    Next
    Output.Show(s1)
End If


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


加好友 发短信
等级:狐神 帖子:5055 积分:13047 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2017/4/16 14:52:00 [只看该作者]

谢谢!SQL语句头疼,能否来个简单的不用sql语句,用字典怎么搞?

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

那就只能循环所有列,逐个使用Compute求和,然后在比较求和结果

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


加好友 发短信
等级:狐神 帖子:5055 积分:13047 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2017/4/16 15:15:00 [只看该作者]

再请教个附加题 
如何求得表a中的某一列的列名,条件是:此列的记录末位字符有4个以上是数字,且有从1-4的顺序排列。也就是模糊判断求得一张表中哪一列是编号列??
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目21.rar


 回到顶部