最近遇到点棘手的问题,大致如下:

  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 

这个做法不错。

转载于:https://www.cnblogs.com/bobo-pcb/p/3781968.html

SQL For Xml相关推荐

  1. 将SQL for xml path('')中转义的字符正常显示

    将SQL for xml path('')中转义的字符正常显示 在工作中出现的发送邮件的时候:因为邮件内容中有链接,并且多个拼接在一起的,于是用了for xml path().        但是,这 ...

  2. 转载---SQL Server XML基础学习之5--XQuery(query)

    本章写一些SQL Server XML的一些XQuery基础语法,主要讲的query查询语法 T-SQL 支持用于查询 XML 数据类型的 XQuery 语言的子集. XQuery 基于现有的 XPa ...

  3. 在线SQL转XML工具

    在线SQL转XML工具 在线SQL转XML工具 SQL To XML Converter 帮助你在线将 SQL 查询转换为 XML. SQL To XML Converter 帮助你在线将 SQL 查 ...

  4. mybats实操-前期入门写法分析,SqlSessionFactory 获取SqlSession, 系统核心配置文件 mybatis-config.xml,SQL映射XML文件,MyBatis缓存

    标题 偏向这一块的配置 打个预防针 尽量别用中文路径 尤其配置文件 1.导入数据库(smbms_db.sql) 下载maven并且配置环境变量 去IDEA配置好maven 以后maven项目直接用 m ...

  5. SQL Server XML性能优化(Best Practices)

    1. XML数据模型 XML存储与处理查询的性能取决于数据库的设计与XML数据的结构与粒度.是否要使用XML数据模型,看你 是不是有半结构化的数据,需要保留文档结构与层次结构的标记语言数据,或可变的结 ...

  6. SQL对Xml字段的操作

    转:http://www.cnblogs.com/youring2/archive/2008/11/27/1342288.html T-Sql操作Xml数据 一.前言 SQL Server 2005 ...

  7. SQL Server XML转Table

    前言 在SQL Server中有时候我们需要传人一个Table过去,然后可以在存储过程中批量更新,批量的获取相应数据. 但存储过程的参数是固定,所以这里我们可以变通的传人xml类型的参数,然后在存储过 ...

  8. java指定sql生成xml,用Java实现可保存状态的数据库生成XML树(8)-JSP教程,Java与XML...

    4.ejb-jar.xml文件 //sun microsystems, inc.//dtd enterprise javabeans 1.1//en http://java.sun.com/j2ee/ ...

  9. SQL Server XML数据解析(1)

    很久就想写总结一下SQL Server解析XML数据的常用方法了,下面就给出一些示例,有事没事,你也可以参照着示例自己动手尝试着实现一下自己的需求. 示例1:从XML中解析数据到表变量 DECLARE ...

最新文章

  1. 还在为论文发愁?ACL组委会手把手教你论文投稿小技巧 | ACL 2017
  2. VS2015智能提示由英文改为中文
  3. 【NLP】 深入浅出解析BERT原理及其表征的内容
  4. PMBOK7和PRINCE2的相似之处和定位之不同(上篇)
  5. Boost智能指针——weak_ptr
  6. Linux环境下服务器 Tomcat war包部署步骤
  7. 无线技术之WLAN八个常见问题解答(收藏)
  8. 各企业正在纷纷向“云”,背后有着哪些原因?
  9. Oracle体系结构三(学习笔记)
  10. 8月8日云栖精选夜读:他的前半生是厨神,45岁却决定加入阿里巴巴
  11. notifier chain — 内核通知链【转】
  12. MP3文件格式说明 (转)
  13. 淘宝、天猫评论如何抓取?
  14. linux 查看tongweb进程,TongWeb日志如何查看?
  15. PHP多功能自动发卡平台源码 带手机版 带多套商户模板
  16. 奥普泰安防监控智能配电箱——为安防行业添新助力
  17. videoJs常用方法、事件、VUE中使用的注意事项
  18. 支付宝对账单接口对接
  19. 练习 P1957 口算练习题
  20. filco的pin码_filco蓝牙键盘配对流程,filco 忍者二代 蓝牙怎么

热门文章

  1. Android 学习笔记
  2. 查看Eclipse版本
  3. AribaWeb 框架学习系列之一
  4. asp.net过滤HTML标签的几个函数
  5. udp_socket聊天器demo
  6. 网络部分面试之路由协议
  7. WCF BasicHttpBinding 安全解析(4)windows验证(IIS宿主)
  8. spring的xml配置文件出现故障
  9. [转载]java日志框架log4j详细配置及与slf4j联合使用教程
  10. freemarker 展示数据列表并传值给后台