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形式展现,有了它我们可以简化我们的查询语句实现一些以前可能需要借助函数活存储过程来完成的工作.那么以一个实例为主 ...
随机推荐
- 关于STM32位带操作随笔
以前在学习STM32时候关注过STM32的位带操作,那时候只是知道位带是啥,用来干嘛用,说句心里话,并没有深入去学习,知其然而不知其所以然.但一直在心中存在疑惑,故今日便仔细看了一下,写下心得供日后参 ...
- python 模块导入全局变量
在哪种情况下需要从模块导入全局变量 项目里多个脚本均更改「某一个全局变量」时 全量变量需要实现可配置时 从模块导入全局变量的方法 from test_prokject import global_va ...
- Recursion-687. Longest Univalue Path
Given a binary tree, find the length of the longest path where each node in the path has the same va ...
- Java零基础教程(一)环境搭建
本文将带领您一步一步地搭建Java开发环境 一.认识什么是Java Java 是由Sun Microsystems公司于1995年5月推出的高级程序设计语言. Java可运行于多个平台,如Window ...
- day 52 Django 的中间件加载顺序
前情提要: django的中间键的作用是进行加载 可以通过中间键进行辅助操作 1.中间件的概念 中间件顾名思义,是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局 ...
- js02--对象、函数、switch、for、异常、表单验证
现在我们接着来继续学习有关js的一些基础. 1.undefined与null undefined:当变量声明但尚未赋值时,它的类型就是undefined null:表示一个不存在的对象,它 ...
- Netty核心概念(7)之Java线程池
1.前言 本章本来要讲解Netty的线程模型的,但是由于其是基于Java线程池设计而封装的,所以我们先详细学习一下Java中的线程池的设计.之前也说过Netty5被放弃的原因之一就是forkjoin结 ...
- EF基础知识小记三(设计器=>数据库)
本文主要介绍通过EF的设计器来同步数据库和对应的实体类.并使用生成的实体上下文,来进行简单的增删查该操作 1.通过EF设计器创建一个简单模型 (1).右键目标项目添加新建项 (2).选择ADO.Net ...
- javascript闭包获取table中tr的索引 分类: JavaScript 2015-05-04 15:10 793人阅读 评论(0) 收藏
使用javascript闭包获取table标签中tr的索引 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN& ...
- Eclipse *版本(图文详解)
不多说,直接上干货! 关于Eclipse的版本介绍 Eclipse Standard 该版本是eclipse最基础的版本,适合Java se个人开发者.或希望根据自己需求配置插件的开发者使用. Ecl ...