Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

SQL Nested Subquery Referensi Kolom Kakek-nenek

Ini adalah batasan dalam Oracle SQL:Anda tidak dapat mereferensikan elemen kueri induk dari subkueri lebih dari 1 level.

Saya akan menggunakan fungsi dalam kasus seperti ini:

CREATE OR REPLACE FUNCTION get_title(p_position_id NUMBER) RETURN VARCHAR2 IS
   l_result       LONG;
   l_position_num NUMBER := 0;
BEGIN
   FOR cc IN (SELECT position_title
                FROM position_table
               WHERE position_table.position_id = p_position_id
                 AND rownum <= 3) LOOP
      l_result       := cc.position_title || ',';
      l_position_num := l_position_num + 1;
   END LOOP;
   RETURN l_result || rpad(',', 3 - l_position_num, ',');
END;

Permintaan Anda akan terlihat seperti ini:

select
  name,
  phone,
  address,
  get_title(p.position_id) title
from person_view p



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana saya bisa mengurai string JSON di PL/SQL

  2. Bagaimana cara mereplikasi skema dengan hak istimewa yang sama dari akun yang ada di Oracle?

  3. Hapus dengan Gabung Kiri di Oracle 10g

  4. Pengembang Oracle SQL:Kegagalan - Tes gagal:Adaptor Jaringan tidak dapat membuat koneksi?

  5. Cara terbaik untuk melakukan penyisipan multi-baris di Oracle?