我在postgresql表中有这样的值
account_id
integer
----------
749
749
749
749
532
我想将它们选为(749,532)
----------
Detail of Question
在WHERE子句中,我想显示一些像这样的id
WHERE account_id in(749,532)
来自具有重复值的列;
ACCOUNT_ID(柱)
749 749 749 749 532 532
或者可能是其他一些值。我只想在上面提到的WHERE子句中用逗号分隔选择每个值一次
我写了以下查询,但它没有提供所需的结果
WHERE account_id in(SELECT array_agg(DISTINCT(vc.account_id)ORDER BY vc.account_id)FROM adempiere.c_validcombination vc LEFT JOIN adempiere.c_bp_vendor_acct bva ON vc.c_validcombination_id = bva.v_liability_acct WHERE bva.ad_client_id = 11)
它会返回像{749,532}这样的值,但我需要它们为(749,532)
谢谢
答案 0 :(得分:1)
检查string_agg():
SELECT
string_agg(DISTINCT account_id::text, ', ') AS result
FROM
table_name;
答案 1 :(得分:0)
SELECT account_id FROM table GROUP BY account_id