2013-02-03 46 views
1

我正在使用Postgresql,我需要運行一個查詢,我在單個字符串列上執行SELECT DISTINCT。但是我不想選擇列是,我需要它串在這串「(」第一次出現。SQL在第一次出現字符時將列選擇爲子字符串?

我不知道如何做到這一點的子部分..

這裏是無子部分查詢的一個例子:

SELECT DISTINCT ON (Table.Column1) Table.Column2 
FROM Table 
ORDER BY Table.Column1 

我不知道什麼功能在Postgres的使用或可能我需要使用PLPGSQL做到這一點

+0

您的問題在至少兩種方式中不明確。在提取子字符串之前的'DISTINCT'?子串的定義不清楚。這可能比'split_part()'更合適。作爲*永遠*,也添加您的Postgres版本。 –

回答

2

我設法來解決這一問題?要使用的功能是SPLIT_PART。其中需要三個參數Col umnName,字符和子字符串發生。

這是我如何使用它的一個例子。

SELECT DISTINCT ON (SPLIT_PART(Table.Column1, ')', 1)) Table.Column2 
FROM Table 
ORDER BY SPLIT_PART(Table.Column1, ')', 1) 
相關問題