我在 PostgreSQL 中有一个类型为字符变化的字段 [] 这里存储的是扇区,有些客户没有数据,其他客户有1到多个扇区,最终看起来像这样
**Customer** ABC
**Sector** ,Exh: Food Trade,Exh: Beverage Trade,Evt: Sporting
有人知道我如何查询每个值吗?为我提供每个客户的独特值(value)
**Customer** ABC **sector** Exh:Food Trade,
**Customer** ABC **sector** Exh:Beverage Trade
**Customer** ABC **Sector** Evt:Sporting
最佳答案
尝试使用unnest
.
测试数据
CREATE TABLE t (customer text, sector text[]);
INSERT INTO t VALUES
('ABC',string_to_array(',Exh: Food Trade,Exh: Beverage Trade,Evt: Sporting',','));
查询
SELECT customer, unnest(sector) FROM t;
customer | unnest
----------+---------------------
ABC |
ABC | Exh: Food Trade
ABC | Exh: Beverage Trade
ABC | Evt: Sporting
(4 Zeilen)
编辑:使用 CTE
删除空元素(见评论)
WITH j AS (
SELECT customer, unnest(sector) as sector FROM t
) SELECT * FROM j WHERE sector <> '';
customer | sector
----------+---------------------
ABC | Exh: Food Trade
ABC | Exh: Beverage Trade
ABC | Evt: Sporting
(3 Zeilen)
关于sql - postgresql:从 Char Varying 字段中提取多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59209569/