我有一个普通的用户表:
Users: ID-NAME
然后我有一个Connections-table:
Connections: ID-MASTER_ID-SLAVE_ID
以下是一些用户:
INSERT INTO Users VALUES(1, 'Mark');
INSERT INTO Users VALUES(2, 'Jack');
INSERT INTO Users VALUES(3, 'John');
INSERT INTO Users VALUES(4, 'Steve');
以下是一些联系:
INSERT INTO Connections VALUES(null, 1, 3);
INSERT INTO Connections VALUES(null, 1, 4);
INSERT INTO Connections VALUES(null, 2, 3);
现在,如果我想查看连接列表,我会:
Connections for Master Mark: John and Steve
Connections for Master Jack: John
如果我需要获取,分组,John的所有连接以及该组中的所有用户,我可以看到我需要获取两个组:
Mark's group and Jack's group.
这是因为约翰是两者的奴隶。
当然,我可以做一段时间的陈述。但是当我使用node.js进行异步编程时,它变得很困难。最好的方法是获得John所属的所有组以及该组中的用户。所以结果将是两行:
ROW1: Group owned by Mark With users: "John" and "Steve"
ROW2: Group owned by Jack With users: "John"
使用单个查询是否有简单的方法可以执行此操作,还是需要创建存储过程?