首页 > 解决方案 > 如何使行中的值显示为基于唯一值的列

问题描述

我想根据 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...

标签: sqlsql-server-2012

解决方案


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

推荐阅读