从存储过程中元素数量未知的行创建分隔字符串
使用 SQL Server 2000 和 Microsoft SQL Server MS 有没有办法根据每行未知的列数创建分隔字符串?
我一次从不同的表中提取一行,并将它们存储在另一个表的一列中。
Using SQL Server 2000 and Microsoft SQL Server MS is there a way to create a delimited string based upon an unknown number of columns per row?
I'm pulling one row at a time from different tables and am going to store them in a column in another table.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
一个简单的 SQL 查询无法完成这样的事情。您需要指定要连接的字段。
我知道的唯一方法是为每个表动态构建一个查询。
我不记得MSSQL2000的结构,所以我不会尝试给出一个确切的例子,也许其他人可以。但是有一些包含表定义的系统表。通过解析这些系统表的内容,您可以为每个源数据表动态构建必要的查询。
然而,编写 TSQL 的 TSQL 调试和维护可能有点棘手:) 所以要小心如何构造一切......
民主党。
编辑:
或者只是在您的客户端应用程序中执行此操作。
A simple SQL query can't do anything like that. You need to specify the fields you are concatenating.
The only method that I'm aware of is to dynamincally build a query for each table.
I don't recall the structure of MSSQL2000, so I won't try to give an exact example, maybe someone else can. But there -are- system tables that contain table defintions. By parsing the contents of those system tables you can dynamically build the necessary query for each source data table.
TSQLthat writes TSQL, however, can be a bit tricky to debug and maintain :) So be careful how you structure everything...
Dems.
EDIT:
Or just do it in your client application.