SQL 如何根据指定值获取列名

一张表有20列,每列下面都有若干数据为1.要将所有值为1的字段名,选出来。例如:第一行有15个字段的值为1,则选出这15个字段名,将这15个字段名insert到另外一张表... 一张表有20列,每列下面都有若干数据为1.
要将所有值为1的 字段名,选出来。
例如:
第一行有15个字段的值为1,则选出这15个字段名,将这15个字段名insert到另外一张表
第二行有13个字段的值为1,则选出这13个字段名

很少上百度提问,全部家当一百分,求指点。
2楼是个办法。如果不知道任何字段名,或者字段名太多怎么弄?再等2天。没人回答的话,就给你了 ,

谢了!
展开
 我来答
翼帆
2010-10-28 · TA获得超过1729个赞
知道小有建树答主
回答量:819
采纳率:60%
帮助的人:516万
展开全部
insert into 表(T1)
select
case when 字段1 = 1 then '字段1,' else '' end +
case when 字段2 = 1 then '字段2,' else '' end +
case when 字段3 = 1 then '字段3,' else '' end +
...
case when 字段20 = 1 then '字段20,' else '' end
as T1
from 表
来自无棣的羊
2010-10-29
知道答主
回答量:19
采纳率:0%
帮助的人:0
展开全部
整理一下,再做些改动,应该可以了:
select distinct sysobjects.[name] as [tblname], syscolumns.colid, syscolumns.[name] as [colname], systypes.[name] as [typename], syscolumns.prec, syscolumns.scale
from syscolumns, sysobjects, systypes
where sysobjects.id=syscolumns.id and systypes.type=syscolumns.type and sysobjects. type= 'u '
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chenweidi232
2010-10-28 · TA获得超过674个赞
知道小有建树答主
回答量:858
采纳率:50%
帮助的人:399万
展开全部
没得这种搞法,通常都是指定哪些列,或者你把某些列拿出来去程序里判断
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式