表表达式,Substring, CharIndex, 多行数据变同一行的用法
参考:
https://www.cnblogs.com/cnki/p/9561427.html
https://www.cnblogs.com/johnwood/p/6386613.html
1.表1:
CREATE TABLE [dbo].[SQLServerInfo](
[objid] [varchar]() NULL,
[instancename] [varchar]() NULL
) ON [PRIMARY]
objid instancename
Server1.uuu Instance1
Server2.uuu Instance1
Server3.uuu Instance1
Server4.uuu Instance2
Server5.uuu Instance3
2.表2:
CREATE TABLE [dbo].[WinServers](
[hostname] [varchar]() NULL,
[serverrole] [varchar]() NULL,
[ip] [varchar]() NULL
) ON [PRIMARY]
hostname serverrole ip
Server1 role1 1.1.1.1
Server2 role2 1.1.1.2
Server3 role3 1.1.1.3
Server4 role4 1.1.1.4
Server5 role5 1.1.1.5
3.查询:
With SQLServerInfoView
as
(
select a.[instancename],b.[serverrole],b.[ip]
from [SQLServerInfo] a
left join winservers b on substring(a.objid,,charindex('.',a.objid,))=b.hostname
) select [instancename],
[serverrole] = (
stuff(
(select ',' + [serverrole] from SQLServerInfoView where [instancename] = A.[instancename] for xml path('')),
,
,
''
)
),
[ip] = (
stuff(
(select ',' + [ip] from SQLServerInfoView where [instancename] = A.[instancename] for xml path('')),
,
,
''
)
)
from SQLServerInfoView as A group by [instancename]
表表达式,Substring, CharIndex, 多行数据变同一行的用法的更多相关文章
- SQL将多行数据合并成一行【转】
转:https://blog.csdn.net/AntherFantacy/article/details/83824182 今天同事问了一个需求,就是将多行数据合并成一行进行显示,查询了一些资料,照 ...
- Oracle一列的多行数据拼成一行显示字符
Oracle一列的多行数据拼成一行显示字符 oracle 提供了两个函数WMSYS.WM_CONCAT 和 ListAgg函数. www.2cto.com 先介绍:WMSYS.WM_CO ...
- 使用Notepad++将多行数据合并成一行
1.按Ctrl+F,弹出“替换”的窗口: 2.选择“替换”菜单: 3.“查找目标”内容输入为:\r\n: 4.“替换为”内容为空: 5.“查找模式”选择为正则表达式: 6.设置好之后,点击“全部替换” ...
- SQL SERVER将多行数据合并成一行(转载)
昨天遇到一个SQL Server的问题:需要写一个储存过程来处理几个表中的数据,最后问题出在我想将一个表的一个列的多行内容拼接成一行 比如表中有两列数据 : ep_classes ep_name A ...
- SQL Server中将多行数据拼接为一行数据(一个字符串)
表A中id与表B中aid为一对多的关系 例如: 表A: id name a1 tom a2 lily a3 lucy 表B: id aid value b1 a1 B1 b2 a1 B2 b3 a2 ...
- T SQL 将一列多行数据合并为一行
SQL Server 在进行数据迁移和报表处理的时候遇到将一列多行数据拼接为一个字符串的情形,查找相关的资料整理如下,提供两种方法. Table:SC Student Course 张三 大学语文 李 ...
- T_SQL 将一列多行数据合并为一行
SQL Server在进行数据迁移和报表处理的时候会遇到将一列多行数据拼接为一个字符串的情况,为了处理这个问题,在网上找了一些相关的资料,提供两种方法,供遇到类似问题的朋友们参考,也借此加深自己的印象 ...
- 查出了a表,然后对a表进行自查询,a表的别名t1,t2如同两张表,因为t1,t2查询的条件不一样,真的如同两张表,关联两张表,可以将两行或者多行数据合并成一行,不必使用wm_concat()函数。为了将t2表的数据全部查出来使用了右连接。
with a as( select nsr.zgswj_dm, count(distinct nsr.djxh) cnt, 1 z from hx_fp.fp_ly fp, hx_dj.dj_nsrx ...
- SQL 将一列多行数据合并为一行
原表数据: 期望结果: 使用STUFF + FOR XML PATH即可实现以上效果 执行以下SQL: , , '') AS Course FROM Student AS T 可以看到输出结果与期望结 ...
随机推荐
- Python并发复习4- concurrent.futures模块(线程池和进程池)
Python标准库为我们提供了threading(多线程模块)和multiprocessing(多进程模块).从Python3.2开始,标准库为我们提供了concurrent.futures模块,它提 ...
- python爬取今日头条关键字图集
1.访问搜索图集结果,获得json如下(右图为data的一条的详细内容).页面以Ajax呈现,每次请求20个图集,其中 title --- 图集名字 artical_url --- 图集的地址 cou ...
- logback实践笔记
前言 每次看公司配置好的logback文件的时候,都不知道什么意思.导致有的时候,一些项目发到测试环境的时候,有的项目没有打印日志,自己都不知道哪里有问题.所以自己新建一个springboot项目 ...
- STRING DELIMITED BY SIZE
The following COBOL program depicts the use of STRING DELIMITED BY SIZE IDENTIFICAT ...
- BZOJ.4650.[NOI2016]优秀的拆分(后缀数组 思路)
BZOJ 洛谷 令\(st[i]\)表示以\(i\)为开头有多少个\(AA\)这样的子串,\(ed[i]\)表示以\(i\)结尾有多少个\(AA\)这样的子串.那么\(Ans=\sum_{i=1}^{ ...
- 2017-9-11-Linux开机启动脚本
参考文章:https://www.magentonotes.com/ubuntu-config-autostart-shell-script.html 还是先开门见山的说,Linux需要添加开机启动程 ...
- KTV项目之3个ListView的跳转和加载歌手图片
第一个ListView: 第二个ListView: 第三个ListView: 定义一个KTVUtil类,在里面定义一个静态变量保存歌手图片 //定义一个静态变量保存歌手图片路径 public stat ...
- STM32串口usart发送数据
主函数请直接关注41行到47行代码!! #include "stm32f10x.h" // 相当于51单片机中的 #include <reg51.h> #include ...
- 自己遇到过的出现java.lang.StackOverflowError的原因
public static JSONArray geth24Weather(String result) {//获取当天24小时以及第二天的天气结果对象 JSONObject fromO ...
- web中icon 图标问题
每个页面都会引入 icon 小图标,下面说下它的用法 一.icon使用 icon的引入方式,与css外部引入方式类似,需要在头部引入, 即: <link rel="shortcut i ...