将行显示为列
我想在 SQL Server 中将行显示为列。
我的表格如下所示:
images_id item_id images_name ------------------------------- 1 1 image1.jpg 2 1 image2.jpg 3 1 image3.jpg 4 2 image4.jpg 5 2 image5.jpg 6 2 image6.jpg
我想要这样的输出:
images_id item_id image1 image2 image3 ------------------------------------------------------ 1 1 image1.jpg image2.jpg image3.jpg 2 2 image4.jpg image5.jpg image6.jpg
这是一个 图像链接。
这可能吗? item_id 必须是动态可变的(它不稳定)。
I want to display rows as column in SQL Server.
My table looks like this:
images_id item_id images_name ------------------------------- 1 1 image1.jpg 2 1 image2.jpg 3 1 image3.jpg 4 2 image4.jpg 5 2 image5.jpg 6 2 image6.jpg
I'd like this output:
images_id item_id image1 image2 image3 ------------------------------------------------------ 1 1 image1.jpg image2.jpg image3.jpg 2 2 image4.jpg image5.jpg image6.jpg
Here is an image link.
Is this possible or not? item_id must be dynamically changeable (it is not stable).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
交叉选项卡和数据透视表,第 1 部分 – 将行转换为列
交叉选项卡和数据透视表,第 2 部分 - 动态交叉选项卡
Microsoft SQL Server 的数据透视表
Cross Tabs and Pivots, Part 1 – Converting Rows to Columns
Cross Tabs and Pivots, Part 2 - Dynamic Cross Tabs
Pivot table for Microsoft SQL Server
如果不使用动态 SQL,这是不可能的。 PIVOT 仍然要求您指定列。
让我知道动态 SQL 是否可以接受,我会给你一个例子。
This isn't possible without using dynamic SQL. PIVOT requires you to specify the columns still.
Let me know if dynamic SQL is acceptable and I'll spin you an example.
以下是如何使用动态 SQL 来实现此目的:
请参阅 SQL Fiddle 演示
Here is how you can use Dynamic SQL for this:
See SQL Fiddle with Demo