从同一个表中选择并加入相同的查询

时间:2013-08-09 19:46:59

标签: mysql

我尝试开发黑手党游戏。我将用户存储在一个表中,每个用户都可以将某人设置为遗嘱。我的问题是:x有ID1和y谁有ID2设置x作为遗嘱(这将存储ID1)。

当x访问他的状态页面时,他应该看到他所有的东西+遗嘱(y)。

当我发生MySQL时,我是新手,有人可以解释一下如何做到这一点吗?可能在将来我需要为该查询添加更多选择,如果有人帮我这样做会很棒:)

2 个答案:

答案 0 :(得分:1)

你用别名

来做

e.g

Select m.Name as Mum, c.Name as Child
From People m
inner join People c
On c.MumId = m.ID

挑选

Mum   Child
Irene Tony 

People
ID Name MumID
1  Irene Null
2  Tony  1

答案 1 :(得分:0)

如果x可以证明不止一个其他用户,那么最好使用两个查询来显示信息:

SELECT \* FROM users WHERE id = ID1;  //This will display user x's data  
SELECT \* FROM users WHERE testament = ID1;   //This will list all users with testament = x

如果它是1对1映射(x只能证明零或其他一个用户),那么这有效:

SELECT u1.\*, u2.\* FROM users u1 LEFT JOIN users u2 ON u1.id = u2.testament WHERE u1.id = ID1;  
相关问题