QT61618
QT61618
采纳率50%
2016-05-11 06:22 阅读 2.9k
已采纳

什么sql语句能通过一个值查询其所在的列名

50

图片说明

差不多就是这样的一个表。怎么样才能在查询【常州代派】时返回【江苏】,查询【东莞直营公司】时返回【广东】

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

6条回答 默认 最新

  • 已采纳
    hsd2012 我爱默小兜 2016-05-11 06:55

    我觉得应该采用两张表城市名一种表如下图
    id city
    1 浙江
    2 广东

    公司一张表
    id 公司名 城市id
    1 佛山A公司 2
    这样通过两种表来进行查找。

    点赞 评论 复制链接分享
  • u010230794 番薯粉 2016-05-11 06:41

    应该不行吧,sql查数据就是根据所在的哪张表查哪些列名下的数据,你这是通过数据查列名,反过来了。

    点赞 评论 复制链接分享
  • seek_knowledge_lulu seek_knowledge_lulu 2016-05-11 06:43
  • chenqixia 蓝少飞 2016-05-11 06:44

    我觉得你的表设计有问题,直接一列是公司名字,一列是所在地区不是更好吗

    点赞 评论 复制链接分享
  • felix__cai felix__cai 2016-05-11 06:45

    sql 查询数据,是根据条件查询出比表中的具体数据,你是倒过来使用,貌似不可以,不过在pl/sql编程语言里面,你先编号程序秒就可以实现了!

    点赞 评论 复制链接分享
  • Jacky0319 Jacky0319 2016-05-11 06:46

    数据记录不是太多情况下, 可以用循环方法读取到。假设 这个表的名字 Table1,
    Set rsAdo = New ADODB.Recordset
    strSql = "select * from table1 "
    rsAdo.Open strSql, gCnn1, adOpenKeyset, adLockBatchOptimistic
    With rsAdo
    Dim fld1 As ADODB.Field
    dim strReturn as string

        Do Until .EOF
    
         For Each fld1 In rsAdo.Fields
            If fld1.Value = "常州代派" Then
                  strReturn=fld1.name
                                    ' 找到了你要的
              Exit Do
    
            End If
        Next
    
                    .movenext
                loop
    
    
    
    点赞 评论 复制链接分享

相关推荐