Mysql запрос присоединения проблема - PullRequest
0 голосов
/ 25 марта 2011

Я возвращаюсь к необходимости снова использовать SQL после того, как не использовал его годами, и столкнулся с проблемой при попытке сделать что-то, что, я думаю, будет считаться объединением.Вот что я получил.Я получил имя пользователя, на которое мне нужно сослаться обратно на user_id, который является простым

SELECT chat_user_id FROM chat_users WHERE chat_username = 'A1A1' 

Это прекрасно работает, но теперь мне нужно передать chat_user_id другому запросу, чтобы получить чатысвязанные с этим user_id.Я знаю, что делал это раньше, но не делал это долгое время.Любая помощь будет принята с благодарностью.

Ответы [ 4 ]

1 голос
/ 25 марта 2011

Я не уверен, что конкретно вы спрашиваете, не зная схемы для каждого.Из нечеткого описания, которое вы дали, вы могли бы выполнить подзапрос.

Пример:

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

Хотя подзапросы не самая эффективная вещь в мире, это будетработать на то, что вы делаете (если подзапрос не возвращает несколько строк, то вы можете использовать «=» вместо «IN»).

Если вы дадите мне больше информации осхема и то, что вы пытаетесь сделать, я могу помочь вам с более продвинутым JOIN.

1 голос
/ 25 марта 2011
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 голосов
/ 25 марта 2011

эй, вы можете сделать что-то вроде этого:

SELECT chat_username, chat.*
FROM chat_users
JOIN chat on chat_users.chat_user_id = chat.chat_user_id
WHERE chat_username = 'A1';
0 голосов
/ 25 марта 2011
SELECT chat_username, chat.*
FROM chat_users
JOIN chat on chat_users.chat_user_id = chat.chat_user_id
WHERE chat_username = 'A1A1'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...