sql - 如何使行中的值显示为基于唯一值的列
问题描述
我想根据 SQL 中的检查号将以下项目显示为列。请帮忙
Check No Item Name
-----------------------------------
1010000001 3/4 Time Session Ale
1010000001 Aquilani Gls
1010000001 Australian Psycho 50L
1010000001 Bloody Mary
1010000001 Brookvale Ginger Beer
1010000001 Buffalo Trace
1010000001 Café Latte
1010000001 Cake Sparkling Gls
1010000001 Cap
1010000001 Capi Blood Orange
1010000001 Capi Dry Ginger
1010000002 Capi Pink Grapefruit
1010000002 Capi Soda
1010000002 Capi Sparkling Mineral
1010000002 Capi Yuzu
1010000002 Cappucino
1010000002 Carlton Draught
1010000002 Catalina Sounds Gls
1010000002 Chicken Taco
1010000002 Chivas Regal 12 Yr
1010000002 Coke
1010000002 Corona
预期结果:
Check No Item Name
---------------------------------------------------
1010000001 3/4 Time Session Ale Aquilani Gls Australian Psycho 50L etc...
解决方案
Item name
我明白了,您想在字符串具有相同值时加入字符串Check No
,那么您现在使用什么数据库?如果您使用 PostgreSQL,您可以使用该array_agg
函数来实现这一点,如下所示:
select
check_no,
array_to_string(array_agg(item_name),' ') as result
from
your_table_name
group by
check_no
推荐阅读
- database - 为什么要将分片 ID 附加到生成的 ID 上?
- http - 从服务器的角度来看 HTTP 跟踪
- java - 如何使用 Spring Cloud Bus 使用不受配置服务器控制的数据刷新应用程序实例?
- python - Python AttributeError:“PostSaveCommand”对象没有属性“_server”
- sql - 从两个表中选择列
- c - 在 C 中打印队列时丢失元素
- python - 如何在 Altair python 中突出显示多线图
- android - 错误:资源 android:attr/colorError 未找到
- numpy - numba 中的 numpy 数组高级索引
- c# - 从 .NET 4.5 迁移到 .NET Core 2.2 后如何“重新复数”数据库表?