此问题在此处已有答案:
Joining 2 tables in SELECT(MYSQL/PHP)(6个回答)
23天前关闭
我有两个MySQL表:session 包含列 username、lastSeen、currentlyOnline,users 包含列 username、userLocation、userAge
我需要选择当前在线用户的信息(userLocation,userAge)(其中 currentlyOnline 等于1)。我想从 session 表中选择用户名,然后用另一个查询在循环中选择信息,但也许有更简单的解决方案?
感谢您的输入:)
4条答案
按热度按时间rjzwgtxy1#
使用联接:
字符串
?
是表示他们在线的任何值。我还将用户名添加到select中,因为您可能需要这个,并且运行另一个查询是愚蠢的。5uzkadbs2#
可以使用JOIN。示例:SELECT userLocation,userAge FROM users INNER JOIN session ON users.username = session.username WHERE session.currentlyOnline = 1
nvbavucw3#
一个连接将完美地做到这一点:
字符串
hmae6n7t4#
在这里使用join。从这里可以看出username是带有users表的会话表的forignkey。在这种情况下,使用此查询。
字符串
使用foriegnkey作为一个表的整数和主键总是更好的。这里,如果你在users表中保持id作为主键,在session表中保持user_id作为forignkey,并使用它进行连接,那就太好了。