簡體   English   中英

postgresql:從字符變化字段中提取多個值

[英]postgresql: extract multiple values from Char Varying field

我在 PostgreSQL 中有一個類型字符不同的字段 [] 存儲在這里是扇區,有些客戶沒有數據,其他客戶有 1 到多個扇區,最終看起來像這樣

**Customer**  ABC        
**Sector** ,Exh: Food Trade,Exh: Beverage Trade,Evt: Sporting

有誰知道我如何按值查詢? 給我每個客戶的獨特價值

**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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM