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

Tôi sẽ sử dụng truy vấn nào để lấy các bản ghi anh chị em khi sử dụng bảng đóng?

Các anh chị em của một nút nhất định sẽ có cùng một tổ tiên. Tuy nhiên, điều này sẽ bao gồm "1" cũng như danh sách của bạn:

select t.*
from table t 
where t.ancestor = (select ancestor from table t2 where t.id = 2);

Trong bảng của bạn, tôi không chắc nó có ý nghĩa gì đối với ancestor giống với descendant . Nhưng, tôi nghĩ sau đây là truy vấn bạn muốn:

select t.*
from table t 
where t.ancestor = (select ancestor from table t2 where t2.id = 2) and
      t.ancestor <> t.descendant and
      t.id <> 2;

CHỈNH SỬA:

Bạn có thể làm điều này với tư cách là rõ ràng tham gia như thế này:

select t.*
from table t join
     table t2
     on t.ancestor = t2.ancestor and
        t2.id = 2 a
where t.id <> 2 and
      t.ancestor <> t.descendant;

Lưu ý:Tôi cũng đã thêm điều kiện t.id <> 2 vì vậy "2" không được coi là anh chị em của chính nó.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. libmysqlclient15-dev trên máy Mac?

  2. HTML ::TableExtract:cách chạy đối số phù hợp [xem ví dụ trực tiếp]

  3. Nhân vật lạ trong cài đặt WAMP mới?

  4. làm thế nào để có được số đếm chính xác

  5. Có cách nào đơn giản hơn để đạt được phong cách nhắn tin của người dùng này không?