sql >> データベース >  >> RDS >> PostgreSQL

順列とは異なるPostgreSQLの組み合わせ

    WITH  RECURSIVE 
    
         A(i) AS (SELECT * FROM unnest(ARRAY['A,B'])),
         B(j) AS (SELECT * FROM unnest(ARRAY['A','B','C','D'])),
    
         cte AS (  SELECT j AS combo, j, 1 AS ct 
                   FROM B 
                 UNION ALL 
                   SELECT cte.combo ||','||B.j, B.j, ct + 1 
                   FROM cte, B
                   WHERE ct <= 4
                    AND position(B.j in cte.combo) = 0
                )
        , com AS ( SELECT A.i ||','|| B.j AS cmb
                   FROM A
                   CROSS JOIN B)
    
         SELECT ARRAY(SELECT cmb FROM cte,com where cte.combo = com.cmb)
    



    1. SQLiteでCREATEINDEXを正しく行う方法

    2. テーブル内の連続した重複をカウントする方法は?

    3. JDBCはSSLを使用してOracleデータベースに接続します

    4. 照合の不正な組み合わせ(latin1_general_ci、IMPLICIT)エラーを解決する方法