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

Hiển thị mối quan hệ Cha-Con khi Cha và Con được lưu trữ trong cùng một bảng

thử cái này ...

SELECT a.ID, a.Name, b.Name AS 'ParentName'
FROM TABLE AS a LEFT JOIN TABLE AS b on a.ParentID = b.ID

Với phép nối bên trái, truy vấn sẽ không tìm thấy bất kỳ thứ gì để nối cho NULL và trả về trống cho ParentName cột.

CHỈNH SỬA:

Nếu bạn không muốn cột 'Gốc' để trống nhưng muốn hiển thị dấu gạch ngang '-' thì hãy sử dụng truy vấn này.

SELECT a.ID, a.Name, COALESCE(b.Name,'-') AS 'ParentName'
FROM TABLE AS a LEFT JOIN TABLE AS b on a.ParentID = b.ID


  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ại sao SQL Server sử dụng quét chỉ mục thay vì tìm kiếm chỉ mục khi mệnh đề WHERE chứa các giá trị được tham số hóa

  2. Làm thế nào để xóa dữ liệu lớn của bảng trong SQL mà không có nhật ký?

  3. Phạm vi biến SQL Server trong một thủ tục được lưu trữ

  4. Truy vấn hoạt động tối ưu cho bản ghi mới nhất cho mỗi N

  5. Nối nhiều bảng trong SQL