我对要应用哪个连接以及在哪里有点困惑。INNER JOIN?两列结果
我有一个在IRC客户端投注的mysql数据库。
它存储了用户名,他们的猜测,他们对
的outcomes_table赌比赛的最终结果是这样的
+--------------+
| id outcome |
+--------------+
| 1 win |
| 2 lose |
+--------------+
的USER_TABLE是这样
+----+----------+----------+-------------------+
| id | username | guess_id | bettingsession_id |
+----+----------+----------+-------------------+
| 1 | name1 | 1 | 1 |
| 2 | name2 | 1 | 2 |
| 3 | name3 | 2 | 2 |
4 name1 1 2
+----+----------+----------+-------------------+
的betting_session_table是这样的:
+----+---------+
| id | result |
+----+---------+
| 1 | 1 |
| 2 | 2 |
+----+---------+
我希望得到一个用户的投注列表以及它们的猜测加盟的成果和结果加入到
如: 选择每行一个不同的赌注用户名,猜(赢/输)结果(赢/输)
喜欢的东西:
SELECT *
FROM user_table
INNER JOIN betting_session_table ON bettingsession_id = betting_session_table.id
INNER JOIN outcomes_table ON guess_id = outcomes_table.id
INNER JOIN outcomes_table ON result = outcomes_table.id
WHERE username = 'name1'
但是这不工作,不知道,但我不认为它让我加入outcomes_table.id两次,以两个不同的列,但我想要这个,因为用户可能会打赌'赢',但导致'输'等。
EG:我想回到
+----+----------+----------+----+---------+--------------------+----+--------+----+---------+
| id | username | guess_id | id | outcome | betting_session_id | id | result | id | outcome |
+----+----------+----------+----+---------+--------------------+----+--------+----+---------+
| 1 | name1 | 1 | 1 | win | 1 | 1 | 1 | 1 | win |
| 4 | name1 | 1 | 1 | win | 2 | 2 | 2 | 2 | lose |
+----+----------+----------+----+---------+--------------------+----+--------+----+---------+
编辑:
在我用于每个加入的似乎工作两个独立的别名结束;这里是来自实际表格的代码,而不是上面的剪切示例。
SELECT *
FROM `xcoins_betting_log` A
LEFT JOIN `xcoins_betting_session` B ON A.betting_session_id = B.id
LEFT JOIN `xcoins_common_tables`.`xcoins_betting_outcomes` C ON A.guess_id = C.id
LEFT JOIN `xcoins_common_tables`.`xcoins_betting_outcomes` D ON B.outcome_id = D.id
WHERE `user_id` =9
“并将结果加入到......” ????有点不清楚你想要什么 – Marusyk
[This](http://stackoverflow.com/questions/448023/what-is-the-difference-between-left-right-outer-and-inner-joins)解释了区别在内,外,左,右,全外... – SebHallin
谢谢,但我一直在盯着那非常相同的维恩图几个小时,仍然不能解决如何得到像上面的结果。 – user3406725