sql表关于列转行的做法
来源:互联网 发布:mac os x 更新失败 编辑:程序博客网 时间:2024/06/02 20:36
create table 表a(typeid int,bianhao varchar(10),mingcheng varchar(10),pinzhong varchar(10),jiage varchar(10))
insert into 表a select 1,'编号','名称','品种','价格'
insert into 表a select 2,'标号','品名','规格','售价'
insert into 表a select 3,'true','true','true','true'
declare @s varchar(8000)
set @s = ''
select
@s=@s+' union select 原始名称 =max(case typeid when 1 then '+name+' end)'
+',自定义名称=max(case typeid when 2 then '+name+' end)'
+',是否显示 =max(case typeid when 3 then '+name+' end)'
+' from 表a'
from syscolumns
where id=object_id('表a') and name != 'typeid' order by colid
set @s = stuff(@s,1,6,'')
exec(@s)
drop table 表a
/*
原始名称 自定义名称 是否显示
编号 标号 true
名称 品名 true
品种 规格 true
价格 售价 true
*/
说明:
/*select name(字段名) from syscolumns where id=object_id('表a') */
insert into 表a select 1,'编号','名称','品种','价格'
insert into 表a select 2,'标号','品名','规格','售价'
insert into 表a select 3,'true','true','true','true'
declare @s varchar(8000)
set @s = ''
select
@s=@s+' union select 原始名称 =max(case typeid when 1 then '+name+' end)'
+',自定义名称=max(case typeid when 2 then '+name+' end)'
+',是否显示 =max(case typeid when 3 then '+name+' end)'
+' from 表a'
from syscolumns
where id=object_id('表a') and name != 'typeid' order by colid
set @s = stuff(@s,1,6,'')
exec(@s)
drop table 表a
/*
原始名称 自定义名称 是否显示
编号 标号 true
名称 品名 true
品种 规格 true
价格 售价 true
*/
说明:
/*select name(字段名) from syscolumns where id=object_id('表a') */
- sql表关于列转行的做法
- SQL 列转行的实现
- 关于MS SQL中行转列做法
- 列转行的Oracle SQL实例
- sql中列转行的问题
- ORACLE 列转行和行转列的SQL
- Sql 行转列及列转行的使用
- SQL最便捷的列转行语句
- sql列转行
- sql列转行
- 列转行SQL
- sql列转行
- sql列转行
- SQL 列转行
- SQL行转列 列转行
- sql 列转行
- SQL行转列,列转行
- sql 列转行
- 网线制作
- http://www.blogjava.net/sterning/
- ASP.NET中常用的26个优化性能方法
- 网站图像防盗----Apache配置妙法
- hibernate3学习笔记(四)|增删改查
- sql表关于列转行的做法
- ABAP OO笔记2
- java 各种远程通信技术
- 初次体验程序员的辛酸
- 冷笑话更新ing……
- VS2005,c++无法解析的外部符号分析
- CPoint,CSize,CRect类的资料
- ADHELPER类
- 使用JavaMail实现收发电子邮件功能