2011-03-24 183 views
0

回到需要使用SQL多年後再次使用它,並試圖做一些事情,即時運行時遇到問題,我猜會被視爲一個連接。繼承人我得到了什麼。我有一個用戶名,我需要引用回到user_id,這是一個簡單的Mysql查詢加入問題

SELECT chat_user_id FROM chat_users WHERE chat_username = 'A1A1' 

這工作正常,但現在我需要將chat_user_id傳遞給另一個查詢來獲取與該user_id的聊天記錄。我知道我以前做過這件事,但很久沒有做到這一點。任何幫助將不勝感激。

回答

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' 
+0

謝謝你,偉大的工作。它應該是cu.chat_username,但它工作! – Shaun 2011-03-26 00:51:48

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

我不確定具體是你在問什麼而不知道每個模式。從你提供的模糊描述中,你可以可以做一個子查詢。

例子:

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

雖然子查詢是不是在世界上最有效的東西,那會爲你在做什麼(如果子查詢不返回多行,那麼你可以使用工作「 =「而不是」IN「)。

如果您向我提供有關架構和您正在嘗試執行的操作的更多信息,我可以幫助您使用更高級的JOIN。

+0

我想過這樣做,但再一次,它似乎真的效率低下 – Shaun 2011-03-26 00:52:14

0

嘿,你可以做這樣的事情:

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