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

Lỗi tên cột không rõ ràng

Bởi vì ARTIFACTTYPE có thể tham khảo A.ARTIFACTTYPE hoặc B.ARTIFACTTYPE và máy chủ cần biết bạn muốn cái nào, chỉ cần thay đổi nó thành A.ARTIFACTTYPE và bạn sẽ ổn trong trường hợp này.

Để làm rõ, bạn cần chỉ định tiền tố bí danh bất cứ khi nào tên cột không rõ ràng. Việc luôn sử dụng tiền tố bí danh không phải là việc làm xấu vì nó giúp bạn biết rõ cột nào đến từ bảng nào khi bạn đọc truy vấn và loại bỏ các vấn đề như thế này.

Người ta có thể thắc mắc tại sao bạn cần phải phân biệt giữa cột nào trong số hai cột mà bạn muốn khi cả hai đều tham chiếu đến cùng một cột trong cùng một bảng. Câu trả lời là khi bạn nối một bảng với chính nó, các giá trị từ A.column và B.column có thể khác nhau tùy thuộc vào tiêu chí kết hợp (chẳng hạn như trường hợp với một liên kết ngoài trong đó các giá trị trong một trong các cột có thể là 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. Phân trang dựa trên bù đắp / Tìm nạp (Triển khai) trong EntityFramework (Sử dụng LINQ) cho SQL Server 2008

  2. Thao tác không được phép khi đối tượng bị đóng khi thực hiện thủ tục được lưu trữ

  3. Làm thế nào để truyền dữ liệu từ / tới các trường BLOB của SQL Server?

  4. Có tương đương với SELECT ... INTO OUTFILE trong SQL Server Management Studio không?

  5. Cách đơn giản nhất để thực hiện tự tham gia đệ quy?