FOR XML PATH做为数据表中单列或者多列的字符串拼接的方法,放到一列中去,很好用。
先看看自己弄得例子,SELECT sName+',',hoppy+',' FROM student2 where hoppy='游泳' FOR XML PATH('')--PATH后面跟的是行标题,前面搜索到的结果是列标题
这个是搜索游泳爱好的人的字符串连接起来,并加上爱好字符串,如果我想知道每项运动里面的人的爱好的人,和运动名称,那我可以写一个子查询去做哦。举例如下。
select distinct hoppy ,(SELECT sName+',' FROM student2 where (hoppy=a.hoppy ) FOR XML PATH(''))from student2 as a --by group--()--PATH后面跟的是行标题,前面搜索到的结果是列标题
这句很好使很好用,哈哈哈
吃饭 WANGYI,
玩耍 WANGSAN,WANGER,
游泳 WANGER,WANGSI,WANGYI,
从别的地方看到还可以去掉最后一个逗号的用法,那就是嵌套一层哦。
select B.hoppy,left(B.niupi,LEN(B.niupi)-1) from (select distinct hoppy ,(SELECT sName+',' FROM student2 where (hoppy=a.hoppy ) FOR XML PATH(''))as niupi from student2 as a)AS B --by group--()--PATH后面跟的是行标题,前面搜索到的结果是列标题
吃饭 WANGYI
玩耍 WANGSAN,WANGER
游泳 WANGER,WANGSI,WANGYI
从网上搜到几篇文章,在这里记录下,可以参考。
http://www.cnblogs.com/doubleliang/archive/2011/07/06/2098775.html
http://www.cnblogs.com/repository/archive/2011/01/18/1938418.html
FOR XML PATH做为数据表中单列或者多列的字符串拼接的方法,放到一列中去,很好用。的更多相关文章
- Oracle中使用游标获取指定数据表的所有字段名对应的字符串
操作步骤:打开PLSQL Developer后,直接执行下面的语句就可以出来 --Oracle中使用游标获取指定数据表的所有字段名对应的字符串 declare mytablename VARCHAR( ...
- 【C#】Excel做的数据表、SQLParameter代码生成工具
转载请注明出处http://www.cnblogs.com/Vulpers/ 做了一个小的代码生成工具,用于新建数据表时能够快速生成一些重复性很高的代码,目前仅支持SqlServer数据库及C#语言, ...
- mybatis中使用mysql的模糊查询字符串拼接(like)
方法一: <!-- 根据hid,hanme,grade,模糊查询医院信息--> 方法一: List<Hospital> getHospitalLike(@Param(" ...
- for xml path('') 引发的数据不完整
When you read Extensible Markup Language (XML) data from Microsoft SQL Server by using the SqlDataRe ...
- dfa最小化,上一个版本采用的是moore的打表法,这个版本采用的是hopcroft的方法,但是实现中采用链表而不是栈来优化。
hopcroft法的复杂度,他们说是nlogn,可是都没有严格的证明.难得找到一篇讲的详细点的论文,却又啰里啰唆的,不过那篇论文里面采用的是颜色树这个结构,有点意思. 前面的那个算法是n的平方复杂度, ...
- Ajax请求php返回json对象数据中包含有数字索引和字符串索引,在for in循环中取出数据的顺序问题
//php中的数组数据格式 Array ( [all] => Array ( [title] => ALL [room_promotion_id] => all ) [best_av ...
- H5页面中判断是安卓手机还是ios手机的方法;APP页面中嵌套的H5跳转到APP其他页面的方法。
(一).在H5页面中,可以直接利用如下的方法来进行判断是安卓还是ios. var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linu ...
- php查询mysql中的json编码后的字符串内容的方法
问题 mysql里存的是json编码后的字符串,其中中文会被转为unicode码,所以直接查询是查询不到的. mysql里的查询如 like "%\u6211\u662f%" 也是 ...
- 转王波洋,SQL语句中的 for XML Path('')
FOR XML PATH 有的人可能知道有的人可能不知道,其实它就是将查询结果集以XML形式展现,有了它我们可以简化我们的查询语句实现一些以前可能需要借助函数活存储过程来完成的工作.那么以一个实例为主 ...
随机推荐
- js判断是否是数组
//判断是否是数组function isArray(obj) { return Object.prototype.toString.call(obj) === '[object Array]' ...
- WPF制作表示透明区域的马赛克画刷
最近在用WPF制作一款软件,需要像ps一样表示透明区域,于是制作了一个马赛克背景的style.实现比较简单,那么过程和思路就不表了,直接上代码 <DrawingBrush TileMode=&q ...
- qt linux下配置安装
linux版本: qt卸载: 1. 先找到qt的安装位置: 2.然后执行其下面的文件MaintenanceTool: 3. 然后会出现图形界面: 卸载完成. 安装qt 下载地址: https://ww ...
- 2017 NAIPC A:Pieces of Parentheses
my team solve the problem in the contest with similar ideathis is a more deep analysis The main idea ...
- 使用pipreqs生成项目依赖
作用 导出当前项目的环境依赖 使用 # 安装 pip3 install pipreqs # 导出项目环境依赖 pipreqs ./ # 如果是Windows系统,会报编码错误 (UnicodeDeco ...
- Django 项目中设置缓存
一.配置文件settings.py中 # 设置django缓存存放位置为redis数据库,并设置一个默认(default)选项,在redis中(配置文件/etc/redis/redis.conf)开启 ...
- C/C++ 语言 Hello world
#include <stdio.h> void main() { int x,i; ; scanf("%d",&x); if(x>y) printf(&q ...
- 00-python概述。
人生苦短,我用Python. -发展历史: - 1989年,由Guido van Rossum开始开发, - 1991年,发布第一个公开发行版,第一个Python编译器(同时也是解释器)诞生. - 2 ...
- 【BZOJ3625】【codeforces438E】小朋友和二叉树 生成函数+多项式求逆+多项式开根
首先,我们构造一个函数$G(x)$,若存在$k∈C$,则$[x^k]G(x)=1$. 不妨设$F(x)$为最终答案的生成函数,则$[x^n]F(x)$即为权值为$n$的神犇二叉树个数. 不难推导出,$ ...
- POJ 1047
#include <iostream> #define MAXN 100 using namespace std; char _m[MAXN]; int ans[MAXN]; int ma ...