sqlserver2008 合并行 拆分成多行

SELECT vchBoxNumberNew,
data=STUFF((SELECT ‘;‘+vchBloodNo FROM dbo.tbPlasma WHERE vchBoxNumberNew=a.vchBoxNumberNew FOR XML PATH(‘‘)), 1, 1, ‘‘)
FROM dbo.tbPlasma a
where vchBoxNumberNew=‘2014HL000001‘
GROUP BY a.vchBoxNumberNew

with tmpTable as
(
SELECT vchBoxNo,CAST(‘<i>‘ + REPLACE(vchBloodNos, ‘;‘, ‘</i><i>‘) + ‘</i>‘ AS XML) AS KID
FROM dbo.tbBox
where vchBoxNo=‘2014HL000001‘
)
select vchBoxNo,x.i.value(‘.‘, ‘VARCHAR(10)‘) AS vchBloodNo
from tmpTable
CROSS APPLY KID.nodes(‘i‘) x(i)
where len(x.i.value(‘.‘, ‘VARCHAR(10)‘))<>‘‘

时间: 2024-10-29 11:27:41

sqlserver2008 合并行 拆分成多行的相关文章

字符串分割函数--拆分成多行(转)

--字符串拆分成行 declare @str varchar(8000)  set @str = 'a1,b1,c2,d1,e3,f5'  --,换成 union all select set @str = 'select  name='''+replace(@str,',',''' union all select ''')+''''  exec(@str) /*name  ----  a1 b1 c2 d1 e3 f5 */ --字符串分割函数--拆分成多行 create function

[Hive]Hive将一行记录拆分成多行

业务背景 hive表test_user_browse记录了用户浏览过的商品,该表的数据如下: username product John product_a,product_b,product_c,product_d Tom product_e,product_f 现在,想要将product字段拆分为多行. 实现方式 现在借助lateral view 和explode()来完成. select username, browse_product from pms.test_user_browse

SQL SERVER 一行按照某个由分隔符拼接的字段拆分成多行

数据库应用系统经常会遇到,某个字段存储通过分隔符来连接键值字符串,例如下表FileHistory 结构中列:Keywords 我们可能在某些业务场景下转换成以下形式: 首先,创建sql 函数,将拼接的字符串拆分成table CREATE FUNCTION [dbo].[UF_SplitStringToTable]( @sInputList VARCHAR(MAX) -- List of delimited items , @sDelimiter VARCHAR(20) = ',' -- deli

oracle 将一行拆分成多行

DROP TABLE TEST PURGE ;CREATE TABLE TEST (po_number VARCHAR2(16),product_name VARCHAR2(64),quantity NUMBER);INSERT INTO TEST VALUES('CJ201300048','TP-LINK网络交换机TP-1024DT ', 2);INSERT INTO TEST VALUES('CJ201300049','汉邦4路/特顿 600线半球/希捷硬盘500G',1);INSERT I

将A行数据更新成B行数据

UPDATE D SET InPrice = A.InPrice, ClinPrice = A.ClinPriceFROM hisdb..BASE_MedBatch A INNER JOIN hisdb..BASE_Dept C ON A.HospitalID = C.HospitalID AND C.DeptID = A.DeptID INNER JOIN hisdb..BASE_MedBatch D ON A.HospitalID = D.HospitalID AND A.StockID =

Pandas: 如何将一列中的文本拆分为多行? | Python

Pandas: 如何将一列中的文本拆分为多行? 在数据处理过程中,经常会遇到以下类型的数据: 在同一列中,本该分别填入多行中的数据,被填在一行里了,然而在分析的时候,需要拆分成为多行. 在上图中,列名为”Country” ,index为4和5的单元格内,值为”UK/Australia”和”UK/Netherland”. 今天,我们来介绍将含有多值的内容分拆成多行的几种方法. 加载数据 PS:可以通过左右滑动来查看代码 import pandas as pd df = pd.DataFrame({

[Oracle]行列转换(行合并与拆分)

使用wmsys.wm_concat 实现行合并 在 Oracle  中, 将某一个栏位的多行数据转换成使用逗号风格的一行显示,可以使用函数  wmsys.wm_concat 达成. 这个在上一篇 oracle内置函数 wmsys.wm_concat使用 中也介绍到. 参考这一段 " Case 1: 列转换行. 以一行显示所有员工的名字 select wmsys.wm_concat(NAME) from employee; 结果: user1,user2 " 现在有个问题, 反过来如何显

Ubuntu下命令行方式对PDF文件进行缩放、合并、拆分

安装软件: sudo aptitude install ghostscript 然后执行命令: gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -sOutputFile=new_file.pdf original_file.pdf PDFSETTINGS参数说明: /screen - 最低精度方式输出,因为屏幕展示所需的精度很低/ebook - 中等精度输出/printer

Kettle 行列互换之——行转列(多列数据合并成一列变为多行)

原始需求如下: 业务系统设置成这样,见截图. 工资项目为了方便录入,都是做成列的. 但是这些数据需要和另外的费用报销系统的数据关联,费用报销系统的费用项目是横向的,用费用项目.金额的多行来表达.那么这里工资的数据如何转换成行呢? 在Kettle里面做一个列转行的转换就行.参考如下. 其中表输入的数据预览如下. 行专列设置如下:其中第1列是选择字段,第2.3列是手工填写 转换后的工资数据都会放入到最近的一个重新命名的工资字段里面的,所以把这个字段改为金额. 按照需求实现了多列合并到一列多行的数据.