Oracle
 sql >> Baza danych >  >> RDS >> Oracle

SQL łączy się przez wiele wierszy

Aktualizacja

Po obejrzeniu aktualizacji wystarczy odrzucić START WITH.

Zakończ aktualizację

CONNECT_BY_ROOT jest tym, czego szukasz

To oświadczenie

SELECT distinct RootBoss, Person FROM (
with employee  as 
(
  Select 1 person , null boss from Dual
  UNION Select 2 , 1 from dual
  UNION Select 3 , 2 from dual
)
SELECT CONNECT_BY_ROOT boss RootBoss, person
FROM employee connect_by

  connect by prior person = boss
  ORDER BY person

  ) t
WHERE ROOTBOSS is not null
ORDER BY
RootBoss, Person

Wyjścia

ROOTBOSS               PERSON                 
---------------------- ---------------------- 
1                      2                      
1                      3                      
2                      3        

Dodawanie SUMS i GRUP jest dość łatwe




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak działa klauzula „w” w Oracle?

  2. Zagnieżdżone kursory w PL/SQL

  3. Łączenie lewe i prawe za pomocą znaku plus (+) w Oracle

  4. Dodaj kwoty z dwóch różnych tabel Oracle

  5. Błąd wyjścia SQL Fiddle