Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Truy vấn với lựa chọn phụ bị hỏng sẽ dẫn đến lỗi nhưng trả về các hàng

Lý do là vì khi một cột không phân biệt không tồn tại trong truy vấn con nhưng lại tồn tại trong truy vấn bên ngoài, Oracle giả định rằng bạn đang tham chiếu đến cột từ truy vấn bên ngoài.

Với bí danh, truy vấn mà bạn bối rối sẽ trông giống như sau:

select *
from   test_values tv
where  tv.tst_id in (select tv.tst_id2
                     from   test_lookup tl
                     where  tl.tst_value = 'findMe');

Hy vọng rằng điều đó làm cho mọi thứ rõ ràng hơn?

Vấn đề bạn đang gặp phải là một ví dụ rất hay về lý do tại sao bạn nên luôn gắn nhãn các cột của mình với bảng mà chúng đến từ - điều này giúp việc duy trì truy vấn ngay từ đầu dễ dàng hơn nhiều!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tạo bảng - Lỗi SQL:ORA-00905:thiếu từ khóa

  2. SQL Developer để nhập từ Excel

  3. Làm thế nào để xóa trình kích hoạt trong oracle có chứa ký tự đặc biệt?

  4. Không nhận được phép nhân chuỗi đầy đủ (sản phẩm) trong truy vấn CONNECT-BY

  5. Trừ 30 năm kể từ ngày hiện tại trong Oracle SQL