2016-05-19 8 views

Antwort

1

Diese SQL den Trick tun sollten:

SELECT T1.COL || T2.COL 
FROM MY_TABLE T1, MY_TABLE T2 
WHERE T1.COL != T2.COL; 

Hier MY_TABLE ist Ihre Tabelle mit Spalte COL.

2

Versuchen:

with x as (
    select 'A' as col from dual 
    union all 
    select 'B' as col from dual 
    union all 
    select 'C' as col from dual 
    union all 
    select 'D' as col from dual 
) 
select * 
from x join x x2 on x.col != x2.col 

Ausgang:

COL COL_1 
"A" "B" 
"A" "C" 
"A" "D" 
"B" "A" 
"B" "C" 
"B" "D" 
"C" "A" 
"C" "B" 
"C" "D" 
"D" "A" 
"D" "B" 
"D" "C" 
0

Coole Antworten. Dies ist meine Version, Kombinationen beider Antworten:

WITH x AS (
    SELECT 'A' AS col FROM dual 
    UNION ALL 
    SELECT 'B' AS col FROM dual 
    UNION ALL 
    SELECT 'C' AS col FROM dual 
    UNION ALL 
    SELECT 'D' AS col FROM dual 
) 

SELECT x1.col || x2.col AS xx 
FROM x x1 JOIN x x2 ON x1.col <> x2.col