サブクエリ結果を配列に変換する
私は私のサブクエリの結果(複数行)が私のクエリで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〜を完了しました