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

lấy tên cha của danh mục con bằng một truy vấn duy nhất trong mysql

Tham gia bàn với chính nó , sử dụng parent để liên kết đến cat_id của chính.

SELECT c1.cat_id as childID, c1.cat_name ChildName, c2.cat_name as ParentName
from category c1
LEFT OUTER JOIN category c2
ON c1.parent = c2.cat_id
  • Hãy cẩn thận:vì một số phần tử không có cha mẹ (NULL ), Tôi đặt LEFT OUTER JOIN vì vậy những hàng đó cũng được hiển thị. Nếu bạn không muốn, hãy sử dụng JOIN thay vì LEFT OUTER JOIN .
  • Bạn cũng có thể hiển thị các dòng, nhưng hiển thị một cái gì đó khác (trống hoặc atext hoặc ...) thay vì NULL bằng cách sử dụng COALESCE .
  • Bạn có thể coi kết quả là một (lớn) bảng mới, vì vậy bạn có thể thêm mệnh đề WHERE như bạn thường làm, ví dụ:lọc theo tên mẹ:WHERE c2.cat_name = 'test2'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để lặp lại các hàng ngẫu nhiên từ cơ sở dữ liệu?

  2. Phát hiện các giá trị trùng lặp trong tương lai khi lặp qua các kết quả MySQL trong PHP

  3. Lỗi MySQL Quá nhiều kết nối

  4. Đặt hàng theo ngày (varchar)?

  5. Sao chép bảng mà không sao chép dữ liệu