0

2 つの列を持つデータベースがあります。

1. city : amsterdam, rome, london, amsterdam, rome, new york, ...
2. type : red, green, blue, red, green, ...

データベースから列の個別の値を選択し、それをまとめる必要があります。

結果は次のようになります。

amsterdam red, amsterdam blue, amsterdam green, rome red, rome blue, rome green, london ...

おそらく間違った方法で「select distinct」と「array_unique」を試しましたが、結果が得られません。

4

2 に答える 2

2

これは次のように実行できます。

select city.city, color.color
from (select distinct city
      from t
     ) city cross join
     (select distinct color
      from t
     ) color

2 つの列の値のすべての組み合わせを探しています。最初のサブクエリは、city列からすべての値を返します。からの 2 番目のすべての値color。これcross joinは、すべての組み合わせを作成するための SQL メカニズムです。

于 2013-05-27T13:46:16.330 に答える