Mysql查询加入问题

时间:2011-03-24 22:32:57

标签: mysql join

我回到需要再次使用SQL多年后不再使用它,并且在尝试做某事时我遇到了一个问题,我猜这将被视为一个连接。继承人我得到了什么。我有一个用户名,我需要引用回user_id,这是一个简单的

SELECT chat_user_id FROM chat_users WHERE chat_username = 'A1A1' 

工作正常,但现在我需要将chat_user_id传递给另一个查询以获取与该user_id相关的聊天。我知道我以前做过这个,但很长一段时间没有做过。任何帮助将不胜感激。

4 个答案:

答案 0 :(得分:1)

在不知道每个模式的情况下,我不确定具体是什么。根据您提供的模糊描述,您可以执行子查询。

示例:

SELECT somethingElse FROM someOtherTable WHERE chat_uer_id IN (SELECT chat_user_id FROM chat_users WHERE chat_username = 'A1A1');

虽然子查询不是世界上最有效的东西,但这对你正在做的事情有效(如果子查询返回多行,那么你可以使用“=”代替“ IN“)。

如果您向我提供有关架构的更多信息以及您要执行的操作,我可以帮助您进行更高级的JOIN。

答案 1 :(得分:1)

SELECT whatever
FROM   chats c
INNER JOIN chat_users cu ON c.chat_user_id = cu.chat_user_id
WHERE  ch.chat_username = 'A1A1'

答案 2 :(得分:0)

SELECT chat_username, chat.*
FROM chat_users
JOIN chat on chat_users.chat_user_id = chat.chat_user_id
WHERE chat_username = 'A1A1'

答案 3 :(得分:0)

嘿,你可以这样做:

SELECT chat_username, chat.*
FROM chat_users
JOIN chat on chat_users.chat_user_id = chat.chat_user_id
WHERE chat_username = 'A1';