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

Jednostki stylu zmiennych tabel w Oracle

Niektóre odpowiedzi mogą ci powiedzieć, że Oracle ma zmienne tabelowe i to do pewnego stopnia. Jednak większość odpowiedzi mówi, że nie powinieneś w ogóle robić tego w Oracle; po prostu nie ma takiej potrzeby.

W twoim przypadku użyłbym po prostu CTE:

with users as (
    select 1001 as ID, 'Bob' as Name, 25 as Age, 'M' as Gender from dual
    union
    select 1021 as ID, 'Sam' as Name, 29 as Age, 'F' from dual
          )
 , grades as (
    select 1001 as UserID , 120 as ClassID, 4 as Grade from dual
    Union
    select 1001 as UserID , 220 as ClassID, 2 as Grade from dual
    Union
    select 1021 as UserID , 130 as ClassID, 4 as Grade from dual
    Union
    select 1021 as UserID , 230 as ClassID, 4 as Grade from dual
    Union
    select 1021 as UserID , 340 as ClassID, 2 as Grade from dual
           )
select u.ID, u.Name, AVG(g.grade) as gpa
  from users u
  join grades g on u.ID = g.UserID
 group by u.ID, u.Name

AKTUALIZACJA:Od dłuższego czasu staram się uzyskać odpowiedź w komentarzu Bena, który zamieszczam tutaj:„Nie ma zmiennej, którą można by tworzyć w locie i dołączać do innych tabel w standardowym SQL @wcm, tak Istnieje wiele różnych typów obiektów, które można utworzyć, które pozwolą ci to zrobić, ale nie dokładnie tak, jak w T-SQL".



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Funkcja LEAST() w Oracle

  2. Globalne tabele temp — SQL Server vs Oracle

  3. Wybierz ciąg jako liczbę w Oracle

  4. Jak zainstalować ruby-oci8?

  5. Oracle Sql Check Constraint !=inna tabela