请原谅我可能用来解释我的难题的任何新手乱语,但希望这里的某人能够看过去并给我一个让我解开的答案。
会话
+--------+---------+----------+
| id | appID | userID |
+--------+---------+----------+
| 1 | 1 | 96 |
+--------+---------+----------+
| 2 | 2 | 97 |
+--------+---------+----------+
| 3 | 1 | 98 |
+--------+---------+----------+
用户
+--------+---------+
| id | name |
+--------+---------+
| 96 | Bob |
+--------+---------+
| 97 | Tom |
+--------+---------+
| 98 | Beth |
+--------+---------+
对于appssions为1
的Sessions表中的每个会话,我想从Users表中获取用户name
。会话userID
列与用户表id
列相关联。
所以我想要的结果是:
["Bob", "Beth"]
有任何建议/帮助吗?
答案 0 :(得分:2)
试试这个:
SELECT USERS.name FROM USERS INNER JOIN SESSIONS ON users.id = SESSIONS.userID WHERE SESSIONS.appID = 1
我会在http://blog.codinghorror.com/a-visual-explanation-of-sql-joins/上阅读所有联接的工作方式。
答案 1 :(得分:0)
您似乎忘了发布代码。
但是在解释中......看起来您只需从sessions表中选择userID然后只需加入users表即可。然后创建一个WHERE子句以选择附加到该ID的所有用户。
希望它有所帮助。 如果你发布你的代码,我可以帮助你更多,如果这看起来不正确lemme知道和生病帮助你我怎么能
答案 2 :(得分:-1)
您需要创建一个连接表(http://www.tutorialspoint.com/postgresql/postgresql_using_joins.htm),然后使用相等的运算符请求数据。
SELECT USERS.name FROM USERS, SESSIONS WHERE SESSIONS.userID = USERS.ID ;