SQL For Xml
最近遇到点棘手的问题,大致如下:
1、数据局格式:
企业名称 排口名称 监测时间 监测因子
a b c pH值
a b c 氨氮
a b c 化学需氧量(COD)
企业名称、排口名称数据都一样,需求是把企业名称列相同的数据显示一行,开始觉得很简单,做着做着觉得拼接数据太烦,然后就想能不能用sql操作。
纠结了小半天没有写出一个适合的sql,然后去百度了(谷歌最近大姨妈了,上不去,也没研究咋回事),然后找到了N多种方案,最后找到一个方案。写sql函数,
sql函数的语法 大致 这样(有问题的话,麻烦指出来,好改正......)
if exists (select * from dbo.sysobjects where id = object_id(N'dbo.函数名称') and xtype in (N'FN', N'IF', N'TF'))--判断该函数是否存在
drop function [dbo].函数名称
GO
create FUNCTION dbo.函数名称()
RETURNS VARCHAR(500) --必须,类型可以集资定
AS
BEGIN
DECLARE @SQL NVARCHAR(500)
SELECT @SQL = (ISNULL(@SQL+',','') + 需要合并的列名) FROM 表名 --ISNULL 必须包含两个参数
group by 分组的列名 --可选
RETURN @SQL --最后一条必须是返回语句
END
go
select distinct dbo.函数名称(),列名 from 表名
然后顺利解决。
之前用上面的方法,发现有点不够简洁,根据博友的提示,又重新整合了一个。
SELECT B.StuName ,LEFT(StuList,LEN(StuList)-1) as hobby FROM (
SELECT StuName,
(SELECT habbyName+',' FROM Habby
WHERE A.habbyId like'%'+cast(Id as nvarchar(5))+'%'
FOR XML PATH('')) AS StuList
FROM Students A
GROUP BY StuName,A.habbyId
) B
这个做法不错。
SQL For Xml的更多相关文章
- Sql Server xml 类型字段的增删改查
1.定义表结构 在MSSM中新建数据库表CommunicateItem,定义其中一个字段ItemContentXml 为xml类型 2.编辑表数据,新增一行,发现xml类型不能通过设计器录入数据. 需 ...
- SQL SERVER XML 学习总结
SQL SERVER XML 学习总结 最新的项目任务要做一个数据同步的功能,这些天都在做技术准备,主要是用到了微软的Service Broker技术,在熟悉使用该技术的同时,又用到了Sql s ...
- 转载---SQL Server XML基础学习之<5>--XQuery(query)
本章写一些SQL Server XML的一些XQuery基础语法,主要讲的query查询语法 T-SQL 支持用于查询 XML 数据类型的 XQuery 语言的子集. XQuery 基于现有的 XPa ...
- sql分组合并字段重复项sql for xml path
-------------------------(情景描述) 在我们处理数据时,可能会碰到这种情景: Id Name 1 a,b 2 ...
- SQL Server XML数据解析
--5.读取XML --下面为多种方法从XML中读取EMAIL DECLARE @x XML SELECT @x = ' <People> <dongsheng> <In ...
- SQL Server XML 查询
[参考1] 18个小实例入门SQLServer XML查询 [参考2] 转载---SQL Server XML基础学习之<5>--XQuery(query)
- Oracle使用Sql把XML解析成表(Table)的方法
SELECT * FROM XMLTABLE('$B/DEAL_BASIC/USER_DEAL_INFO' PASSING XMLTYPE('<?xml version="1.0&qu ...
- sql for xml path 处理
1.将下列结果集 做成 aa 语文,数学 bb 英语,语文 这种格式 使用 for xml path 记得去重复 WITH cte AS(SELECT stu.studentname,c ...
- 一个由正则表达式引发的血案 vs2017使用rdlc实现批量打印 vs2017使用rdlc [asp.net core 源码分析] 01 - Session SignalR sql for xml path用法 MemCahe C# 操作Excel图形——绘制、读取、隐藏、删除图形 IOC,DIP,DI,IoC容器
1. 血案由来 近期我在为Lazada卖家中心做一个自助注册的项目,其中的shop name校验规则较为复杂,要求:1. 英文字母大小写2. 数字3. 越南文4. 一些特殊字符,如“&”,“- ...
- sql for xml 还有一种写法(採用 tag 与 union all,简洁易懂)
sql for xml 还有一种写法(採用 tag 与 union all,简洁易懂) 測试环境:sql 08, 08 R2, 2010, 2012, 2014 等 declare @agent t ...
随机推荐
- the private key for is not installed on this mac
the private key for is not installed on this mac 如果提交 时出现这个问题, 有可能是 keychain重复了, 1:要去keychain中把旧的删除, ...
- HDOJ -- 1015
1.DFS #include<cmath> #include<cstdio> #include<cstdlib> #include<string> #i ...
- python多进程的理解 multiprocessing Process join run
最近看了下多进程. 一种接近底层的实现方法是使用 os.fork()方法,fork出子进程.但是这样做事有局限性的.比如windows的os模块里面没有 fork() 方法. windows:.lin ...
- CPLEX IDE 菜单栏语言设置( 中文 英文 韩文 等多国语言 设置)
http://www-01.ibm.com/support/docview.wss?uid=swg21573032 Technote (FAQ) Question How to change the ...
- JavaScript高级程序设计43.pdf
事件类型 Web浏览器中有很多事件类型,“DOM3级事件”规定了以下几类事件 UI事件(用户界面),当用户与页面上的元素交互时触发: 焦点事件,当元素获得或失去焦点时触发 鼠标事件,当用户通过鼠标在页 ...
- Bzoj 1036: [ZJOI2008]树的统计Count 树链剖分,LCT
1036: [ZJOI2008]树的统计Count Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 11102 Solved: 4490[Submit ...
- hdoj 1827 Summer Holiday【强连通分量&&缩点】
Summer Holiday Time Limit: 10000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)T ...
- CSS围住浮动元素的三种方法
浮动元素脱离了文档流,其父元素看不到它了,因而不会包围它.浮动会“扩散”到下一个清除浮动的元素处.这会引起不想要的页面布局效果. 清除浮动的方法有三种: 1.父元素overflow:hidden 2. ...
- 记录:Ubuntu下配置Eclipse
>>下载Eclipse. 下载链接:http://www.eclipse.org/downloads/ 我选择了64bit的版本 >>安装Eclipse. 解压文件: tar ...
- linux运维安全工具集合[持续更新中..]
lynis 安全漏洞检测工具 https://cisofy.com/download/lynis/ https://cisofy.com/files/lynis-2.2.0.tar.gz ...