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

ORA-00918:cột được xác định không rõ ràng trong SELECT *

Phép chiếu của truy vấn chỉ có thể có một phiên bản của một tên nhất định. Như mệnh đề WHERE của bạn hiển thị, bạn có một số bảng với một cột được gọi là ID. Bởi vì bạn đang chọn * phép chiếu của bạn sẽ có một số cột được gọi là ID. Hoặc nó sẽ không dành cho trình biên dịch gây trở ngại ORA-00918.

Giải pháp khá đơn giản:bạn sẽ phải mở rộng phép chiếu để chọn các cột được đặt tên một cách rõ ràng. Sau đó, bạn có thể loại bỏ các cột trùng lặp, chỉ giữ lại (giả sử) COACHES.ID hoặc sử dụng bí danh cột:coaches.id as COACHES_ID .

Có lẽ điều đó khiến bạn phải gõ rất nhiều, nhưng đó là cách duy nhất. Nếu cảm thấy thoải mái, hãy SELECT * được coi là hành vi xấu trong mã sản xuất:các cột được đặt tên rõ ràng an toàn 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. Thêm tham số ngày vào truy vấn oracle

  2. ORA-12154 không thể phân giải mã nhận dạng kết nối được chỉ định

  3. Thoát ký tự và ký tự trong chuỗi SQL

  4. Nối giá trị cột thứ hai nếu giá trị cột đầu tiên giống nhau

  5. Cần Oracle SQL để phân chia phạm vi ngày / giờ theo ngày