Saya punya pertanyaan yang sangat sederhana: Apakah oracle memungkinkan beberapa "DENGAN AS" dalam satu pernyataan sql.
Contoh:
WITH abc AS( select ......)
WITH XYZ AS(select ....) /*This one uses "abc" multiple times*/
Select .... /*using XYZ multiple times*/
Saya dapat membuat kueri tersebut bekerja dengan mengulangi kueri yang sama beberapa kali, tetapi tidak ingin melakukannya, dan memanfaatkan "DENGAN AS". Sepertinya persyaratan sederhana tetapi oracle tidak mengizinkan saya:
ORA-00928: kata kunci SELECT tidak ada
abc
danxyz
subkueri? Saya perlu mendapatkan hasil dari subkueri pertama dan menggunakannya pada subkueri kedua.sintaks yang benar adalah -
sumber
Ya kamu bisa...
Ikuti urutan inisialisasi dalam Common Table Expressions
sumber
Aditya atau orang lain, dapatkah Anda bergabung atau mencocokkan t2 dengan t1 di contoh Anda, yaitu diterjemahkan ke kode saya,
Saya tidak jelas apakah hanya WHERE yang didukung untuk bergabung, atau pendekatan bergabung apa yang didukung dalam entitas WITH ke-2. Beberapa contoh memiliki WHERE A = B di bagian tubuh pilih "di bawah" klausa WITH.
Kesalahan yang saya dapatkan setelah deklarasi WITH ini adalah pengidentifikasi (nama bidang) di B tidak dikenali, di bagian tubuh SQL lainnya. Jadi sintaks WITH berjalan OK, tetapi tidak dapat mengakses hasil dari t2.
sumber