tôi có các bảng tiếp theo. nhóm bảng chứa các nhóm được sắp xếp theo thứ bậc và group_member lưu trữ những nhóm mà người dùng thuộc về.SQL đệ quy
groups
---------
id
parent_id
name
group_member
---------
id
group_id
user_id
ID PARENT_ID NAME
---------------------------
1 NULL Cerebra
2 1 CATS
3 2 CATS 2.0
4 1 Cerepedia
5 4 Cerepedia 2.0
6 1 CMS
ID GROUP_ID USER_ID
---------------------------
1 1 3
2 1 4
3 1 5
4 2 7
5 2 6
6 4 6
7 5 12
8 4 9
9 1 10
Tôi muốn truy xuất các nhóm hiển thị cho một người dùng cụ thể. Đó là để nói các nhóm người dùng thuộc về và con của các nhóm này. Ví dụ: với dữ liệu ở trên:
USER VISIBLE_GROUPS
9 4, 5
3 1,2,4,5,6
12 5
Tôi nhận được các giá trị này bằng cách sử dụng đệ quy và một số truy vấn cơ sở dữ liệu. Nhưng tôi muốn biết nếu nó có thể làm điều này với một truy vấn SQL duy nhất để cải thiện hiệu suất ứng dụng của tôi. Tôi đang sử dụng MySQL.
Liên kết mã hóa được viết cho SQL Server. Có thể không dễ dàng điều chỉnh mã đó cho mySQL, nhưng đây là tài liệu tham khảo mySQL trên con trỏ: http://dev.mysql.com/doc/refman/5.0/en/cursors.html – Prestaul