私は私のサブクエリの結果(複数行)が私のクエリでsingale行として返すようにしたい。例えば。

select u.url, (select c.categoryid from category c
where c.categoryid = u.categoryid) from url u

urlに複数のカテゴリが含まれている場合、サブクエリは次のように複数の行を返します。P.Subquery return複数の行はデータベースのほとんどでサポートされていませんが、PostgreSQL

url | categoryid
---------------------

1 | 1
1 | 2
2 | 1

結果は次のとおりです

URL | categoryid
---------------------
1 | 1,2
2 | 1

私はoracleやmysqlのような他のデータベースでどれほど簡単に達成できるかはわかりませんが、PostgreSQLは配列データ型を提供しています。私はクエリを

select u.url, (select array(select c.categoryid from category c
where c.categoryid = u.categoryid))as categoryid from url u

結果〜

url | categoryid
---------------------

1 | {1,2}
2 | 1

PostgreSQL Array Rock〜を完了しました