Wenn ich die zwei Fragen richtig verstehen ...
SQL> CREATE TABLE tab1 AS
2 WITH t AS
3 (SELECT 'A' c1, 'X' c2
4 FROM dual
5 UNION ALL
6 SELECT 'A', 'X'
7 FROM dual
8 UNION ALL
9 SELECT 'B', 'Y'
10 FROM dual
11 UNION ALL
12 SELECT 'B', 'Y'
13 FROM dual)
14 SELECT * FROM t;
Table created.
SQL>
SQL> SELECT * FROM tab1 ORDER BY c1, c2;
C1 C2
--- ---
A X
A X
B Y
B Y
4 rows selected.
SQL>
SQL> SELECT c1, COUNT(*) c2
2 FROM (SELECT c1 FROM tab1 UNION ALL SELECT c2 FROM tab1)
3 GROUP BY c1
4 ORDER BY c1;
C1 C2
--- ---
A 2
B 2
X 2
Y 2
4 rows selected.
Und für den zweiten Teil haben
SQL> CREATE TABLE tab2 AS
2 WITH t AS
3 (SELECT CAST(column_value AS VARCHAR2(3)) c1
4 FROM TABLE(sys.odcivarchar2list('A', 'B', 'C', 'D')))
5 SELECT * FROM t;
Table created.
SQL>
SQL>
SQL> SELECT * FROM tab2 ORDER BY c1;
C1
---
A
B
C
D
4 rows selected.
SQL> SELECT t1.c1 || t2.c1 c1 FROM tab2 t1 JOIN tab2 t2 ON t1.c1 < t2.c1;
C1
---
AB
AC
AD
BC
BD
CD
6 rows selected.
Bitte einen Blick auf [ fragen] und [mcve] – Aleksej
Sie müssen mehr speci sein was du zwischen deinen Beispielen tust und was du von uns erwartest !? Haben Sie Erfahrung mit der SQL-Syntax? –
Dank Aleksej und B 7 für den Kommentar, wird sich um diese Punkte kümmern. –