2 qt61618 QT61618 于 2016.05.11 14:22 提问

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

图片说明

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

7个回答

hsd2012
hsd2012   2016.05.11 14:55
已采纳

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

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

CSDNXIAON
CSDNXIAON   2016.05.11 14:32

用SQL语句怎么查询列名?
用SQL语句怎么查询列名? --转载
【DB2】SQL语句 查询列名、表名等信息
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

u010230794
u010230794   2016.05.11 14:41

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

chenqixia
chenqixia   2016.05.11 14:44

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

seek_knowledge_lulu
seek_knowledge_lulu   2016.05.11 14:43
felix__cai
felix__cai   2016.05.11 14:45

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

Jacky0319
Jacky0319   2016.05.11 14: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

Jacky0319
Jacky0319 回复felix__cai: 把它 写道 服务器作为 表值函数 。 像查询了
一年多之前 回复
felix__cai
felix__cai 你使用的不是SQL查询,你是在用编程操作= =
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!