[英]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.