sql-server - 如何使用具有相同 ID 的列来使用东西
问题描述
我将从一个 sql 表示例开始
ID Column
1 Name1
1 Name2
2 Name3
2 Name4
我想使用东西,但只有当 ID 相同时。我想采取的输出示例
Name1,Name2 ->FirstRow
Name3,Name4 ->SecondRow
这是我正在尝试做的事情,但我将所有最高值放入一行
Select REPLACE(STUFF((SELECT top(10) CHAR(10) + convert(varchar(50),TrnDocumentID) + ' '+name
FROM InventoryTrans where TrnDocumentID=TrnDocumentID
FOR XML PATH ('')) , 1, 1, '') ,
CHAR(10) , CHAR(13)+CHAR(10))
我还需要 trnDocumentID 将它放在不同的列但在同一行中
解决方案
尝试以下操作:
declare @tab table (ID int, [Column] varchar(100))
insert into @tab select 1, 'Name1'
union
select 1, 'Name2'
union
select 2, 'Name3'
union
select 2, 'Name4'
select * from @tab
Select ID, REPLACE(STUFF((SELECT top(10) CHAR(10) + convert(varchar(50),ID) + ' '+[Column]
FROM @tab t_in where t_in.ID=t_out.ID
FOR XML PATH ('')) , 1, 1, ''),
CHAR(10) , CHAR(13)+CHAR(10)) Grouped_Value
from @tab t_out
group by ID
您始终可以修改 Grouped_Value 以删除 ID 部分。
推荐阅读
- node.js - 我正在将基本节点应用程序上传到 aws elastic beanstalk,当我进入环境时收到 502 bad gateway 响应
- ios - Swift:如何从 watchos 中的选取器中删除绿色边框?任何选择器样式?
- matplotlib - 自定义条形图matplotlib中的高度
- reactjs - 在 nextjs 中更改页面滚动上的标题背景颜色
- rust - 获得具有特定字段的向量的更好方法是形成结构向量?
- sql - 查询以获取多个类中的成员索引?
- c# - 单元测试中动态转换失败的通用解决方案
- flutter - 从 VSCode (Android) 闪烁 Flutter 应用程序
- delphi - 从没有运行时包的 dfm 文件构建加载组件时,EClassNotFound 错误问题
- python - 监控 python 代码以检查进程的创建位置