SQL动态列查询
--CREATE TABLE KeyValue
--(
--[key] NVARCHAR(50) ,
--[value] NVARCHAR(50)
--) CREATE TABLE TableNumber
(
Name NVARCHAR(50),
Filed1 NVARCHAR(50),
Filed2 NVARCHAR(50),
Filed3 NVARCHAR(50),
Filed4 NVARCHAR(50),
Filed5 NVARCHAR(50),
)
INSERT INTO dbo.TableNumber
( Name ,
Filed1 ,
Filed2 ,
Filed3 ,
Filed4 ,
Filed5
)
VALUES ( N'张三2' , -- Name - nvarchar(50)
N'中国2' , -- Filed1 - nvarchar(50)
N'河北2' , -- Filed2 - nvarchar(50)
N'唐山2' , -- Filed3 - nvarchar(50)
N'' , -- Filed4 - nvarchar(50)
N'' -- Filed5 - nvarchar(50)
) INSERT INTO KeyValue VALUES('Filed1','国家')
INSERT INTO KeyValue VALUES('Filed2','省')
INSERT INTO KeyValue VALUES('Filed3','市') DECLARE @msg NVARCHAR(max)=''
SELECT @msg=@msg+','+[key]+' as '+value FROM KeyValue SET @msg='Name as 名称'+@msg; DECLARE @sql NVARCHAR(max);
SET @sql='select '+@msg +' from TableNumber' EXEC( @sql)

这种设计可用于自定义列表查询,EXCEL导出,很方便,使用起来比在C#中写更便捷,不过缺点就是依赖数据库。
SQL动态列查询的更多相关文章
- 帆软报表(finereport)动态列查询
新建普通报表,新建一个数据集ds1,sql语句:select * from 销量 设计模板:选择复选按钮组控件 设置 控件名称 paraed , 控件值设置为公式:["列名",& ...
- ibatis 动态列查询问题解决
http://hi.baidu.com/java513/blog/item/ace7c516c400390d4a90a7c8.html 这个问题是因为你查询的sql的列是变化的,但是ibati ...
- SQL多列查询最大值
直接从某一列查询出最大值或最小值很容易,通过group by字句对合适的列进行聚合操作,再使用max()/min()聚合函数就可以求出. 样本数据如下: key_id x y z A 1 2 3 B ...
- 记ibatis使用动态列查询问题(remapresults)
今天在项目开发中,遇到了一个问题:使用ibatis 动态查询列时,每次返回的结果列都是第一次查询的结果列,然而控制台执行的SQL语句时包含该结果列的.比如: <select id="g ...
- JPA多条件复杂SQL动态分页查询
概述 ORM映射为我们带来便利的同时,也失去了较大灵活性,如果SQL较复杂,要进行动态查询,那必定是一件头疼的事情(也可能是lz还没发现好的方法),记录下自己用的三种复杂查询方式. 环境 spring ...
- SQL 动态PIVOT查询
DECLARE @sql_str VARCHAR(8000)DECLARE @sql_col VARCHAR(8000) SELECT @sql_col = ISNULL(@sql_col + ',' ...
- linq to sql 动态构建查询表达式树
通过Expression类进行动态构造lamda表达式. 实现了以下几种类型,好了代码说话: public Expression<Func<T, bool>> GetAndLa ...
- [Phoenix] 八、动态列
摘要: 传统关系型数据库的动态列实现只能依赖逻辑层的设计实现,而Phoenix是HBase上的SQL层,借助HBase特性实现的动态列功能,具有高度的灵活性,告别业务逻辑层的复杂设计. 一.概要 动态 ...
- LINQ to SQL 运行时动态构建查询条件
在进行数据查询时,经常碰到需要动态构建查询条件.使用LINQ实现这个需求可能会比以前拼接SQL语句更麻烦一些.本文介绍了3种运行时动态构建查询条件的方法.本文中的例子最终实现的都是同一个功能,从Nor ...
随机推荐
- 基于Erlang VM的函数式编程语言Elixir
Elixir官网:http://elixir-lang.org/ Elixir是一种函数式动态语言,用于构建可伸缩.易维护的应用程序. Elixir是基于Erlang VM的,其广为人知的特点是运行低 ...
- how-to-redirect-cin-and-cout-to-files
#include <iostream> #include <fstream> #include <string> void f() { std::string li ...
- Mybatis添加返回主键ID
1.对应xml文件<insert id="insert" parameterType="DetectStandard"useGeneratedKeys=& ...
- Python私有函数和公开函数
类似_xxx和__xxx这样的函数或变量就是非公开的(private),不应该被直接引用,比如_abc,__abc等: # private私有函数 def _private_1(name): retu ...
- GJM : Python简单爬虫入门(二) [转载]
感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...
- wso2esb之代理服务 Proxy Services
代理服务 顾名思义,代理服务充当了WSO2 ESB服务的代理,通常是一个已经存在的服务端点,代理服务可以使用不同的传输方式. 客户可以直接发送请求代理服务的ESB,客户看到服务代理. 运行示例 配置W ...
- 解决MVC4发布在IIS7后,路径无法访问.apk文件的解决方法
随着智能手机的普及,越来越多的人使用手机上网,很多网站也应手机上网的需要推出了网站客户端,.apk文件就是安卓(Android)的应用程序后缀名,默认情况下,使用IIS作为Web服务器的无法下载此文件 ...
- 很漂亮的SweetAlert.js 弹出层
在线实例 实例演示 使用方法 swal("Here's a message!") 复制 参数详解 参数 默认值 描述 title null(required) 窗口的名称.可以通过 ...
- Web 前沿——HTML5 Form Data 对象的使用
XMLHttpRequest Level 2 添加了一个新的接口——FormData.利用 FormData 对象,我们可以通过 JavaScript 用一些键值对来模拟一系列表单控件,我们还可以使用 ...
- 好文要顶之 --- 简单粗暴地理解 JavaScript 原型链
原型链理解起来有点绕了,网上资料也是很多,每次晚上睡不着的时候总喜欢在网上找点原型链和闭包的文章看,效果极好. 不要纠结于那一堆术语了,那除了让你脑筋拧成麻花,真的不能帮你什么.简单粗暴点看原型链吧, ...