Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

SQL Semua Kemungkinan Kombinasi Round Robin antara dua Tabel

Berikut adalah dua solusi untuk masalah tersebut

SELECT  t1.Name + ',' +  t2.Name AS NamesCombination
FROM Person t1
INNER JOIN Person t2
ON t1.Name < t2.Name

ATAU (Oracle 11i R2+)

WITH NamesCombination AS 
( 
    SELECT  1 AS Cntr
            ,Name 
            , CAST(Name AS VARCHAR(MAX))AS NamesCombinations
    FROM Person 
    UNION ALL 
    SELECT  
        nc.Cntr+1
        ,p.Name 
        ,nc.NamesCombinations + ',' +  CAST(p.Name AS VARCHAR(MAX))                      
    FROM Person AS p JOIN NamesCombination nc ON p.Name < nc.Name
    WHERE nc.Cntr < 2  
)
SELECT NamesCombinations
FROM NamesCombination
WHERE Cntr  = 2 



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORA-01654:tidak dapat memperpanjang indeks

  2. Mendapatkan kesalahan saat menggunakan prepareStatement dengan interval dalam kueri

  3. kesalahan internal (00801) saat menggabungkan dua koleksi di Oracle 10g

  4. Oracle:Saya memerlukan gabungan luar sebagian. Lihat gambarnya

  5. Menggunakan subquery dalam pernyataan Periksa di Oracle