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

Jak utworzyć połączenie dwóch zestawów danych za pomocą instrukcji Select SQL (Oracle DBMS)?

Roman, musisz wykonać pełne złącze zewnętrzne na swojej selekcji, aby dla dowolnego identyfikatora typu zdarzenia (i zakładam, że będziesz mieć 0 lub 1 wiersz w swoich przeszłych i przyszłych tabelach dla dowolnego identyfikatora typu zdarzenia), wypiszesz jeden wiersz oraz odpowiednie daty null i inne niż null.

Pierwsza odpowiedź nie połączy dat z dwóch źródeł w jednym wierszu, o co, jak sądzę, prosiłeś.

Druga odpowiedź była bliższa, ale zadziałałaby tylko dla wierszy z datą przeszłą i przyszłą (tj. po jednym w każdej tabeli) ze względu na sprzężenie wewnętrzne.

Przykład:

insert into event_target (event_type_id, past_event_date, future_event_date)
select nvl(p.event_type_id, f.event_type_id), p.event_date, f.event_date
from
events_source_1 p full outer join
events_source_2 f on p.event_type_id = f.event_type_id

Zauważ, że funkcja nvl jest przeznaczona dla Oracle i użyje pierwszego niepustego, jaki zobaczy. ISNULL może być używany dla SQL Server.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. czy można mieć generator sekwencji alfanumerycznych w sql

  2. Zestawy z jednej tabeli, pogrupowane według kolumny

  3. Wysyłaj pocztę w Oracle z kodowaniem UTF-8 w temacie

  4. Oracle 11g - najwydajniejszy sposób wstawiania wielu wierszy

  5. Budowanie dynamicznego zapytania w C# (atak wstrzykiwania SQL)