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

Mengapa Oracle SQL secara misterius menyelesaikan ambiguitas dalam satu gabungan dan tidak pada yang lain?

Untuk kueri ketiga, Oracle 10g mengembalikan field3 dari TestTable1 kedua (alias TestTable1_2). Tampaknya ini adalah bug, yang tampaknya telah diperbaiki dalam 11g.

Kasus Uji:

INSERT INTO TestTable1 VALUES (1,2,3,NULL);
INSERT INTO TestTable1 VALUES (2,5,6,1);
INSERT INTO TestTable2 VALUES (5,6,7);
INSERT INTO TestTable2 VALUES (2,20,30);

SELECT field3
FROM TestTable1
join TestTable2 ON TestTable1.field1 = TestTable2.field1
left join TestTable1 TestTable1_2 ON TestTable1.self_ref = TestTable1_2.id;

FIELD3
======
3
(null)

SELECT TestTable1.field3, TestTable2.field3, TestTable1_2.field3
FROM TestTable1
join TestTable2 ON TestTable1.field1 = TestTable2.field1
left join TestTable1 TestTable1_2 ON TestTable1.self_ref = TestTable1_2.id;

FIELD3 FIELD3_1 FIELD3_2
====== ======== ========
6      7        3
3      30       (null)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Parsing json melalui json_table di Oracle 18

  2. Bisakah MAX_UTILIZATION untuk PROSES tercapai menyebabkan Tidak dapat mendapatkan Pengecualian koneksi terkelola?

  3. Mendapatkan jumlah/total di setiap level kueri hierarkis menggunakan CONNECT BY

  4. Apakah ada cara untuk mengatasi DSRA9010E 'setReadOnly' tidak didukung pada pengecualian WebSphere?

  5. Bagaimana cara mengekspor data dengan Oracle SQL Developer?