我正在尝试从投票表中获取用户名,我无法弄清楚如何同时获得选民的姓名和投票人的姓名。
简化投票表
ID voteeID voterID
1 1 2
2 1 3
3 1 4
4 2 1
5 2 3
6 2 4
简化的用户信息表
ID username
1 Bob
2 Sam
3 Ed
4 Mark
我在哪里:
SELECT votes.voteeID, votes.voterID, userinfo.username
FROM votes
JOIN ???
我正在玩这个联盟,但我有点卡住了。如果我加入了投票者的id到userinfo id,我怎么能得到选民的名字,反之亦然?
数据库:MySQL 5
提前感谢任何帮助甚至提示都会很精彩。
答案 0 :(得分:4)
尝试这个,
SELECT b.`username` as Votee_Name,
c.`username` as Voter_Name
FROM Votes a
INNER JOIN UserInfo b
ON a.voteeID = b.Id
INNER JOIN UserInfo c
on a.voterID = c.id
答案 1 :(得分:3)
像
这样的东西SELECT v.ID,
v.voteeID,
u1.username Votee,
v.voterID,
u2.username Voter
FROM Votes v INNER JOIN
User u1 ON v.voteeID = u1.ID INNER JOIN
User u2 ON v.voterID = u2.ID
答案 2 :(得分:2)
您需要两次INNER JOIN
来获取votee
和voter
的用户名:
SELECT a.voteeID, a.voterID,
b.username AS votee_name, c.username AS voter_name
FROM votes a
INNER JOIN userinfo b
ON a.voteeID = b.ID
INNER JOIN userinfo c
ON a.voterID = c.ID;
答案 3 :(得分:1)
SELECT V.ID作为ID B.username作为Votee_Name,C.username作为Voter_Name 来自投票V. INNER JOIN UserInfo B ON V.voteeID = B.Id INNER JOIN UserInfo C on V.voterID = C.id;