2010-01-15 9 views
1

мне нужно идти к два таблице для получения нужной информацииКаким будет объединение SQL?

exp_member_groups 
-group_id 
-group_title 

exp_members 
-member_id 
-group_id 

У меня есть соответствующий member_id

Поэтому мне нужно проверить таблицу членов, получить GROUP_ID, а затем перейти к таблице групп и сопоставьте group_id и получите от этого group_title.

ответ

4

INNER JOIN:

SELECT exp_member_groups.group_title 
FROM exp_members 
INNER JOIN exp_member_groups ON exp_members.group_id = exp_member_groups.group_id 
WHERE exp_members.member_id = @memberId 
2
SELECT g.group_title 
FROM exp_members m 
    JOIN exp_member_groups g ON m.group_id = g.group_id 
WHERE m.member_id = @YourMemberId 
1

Если есть всегда совпадающий группа, или вы хотите только строки, где она есть, то это было бы INNER JOIN:

SELECT g.group_title 
FROM exp_members m 
     INNER JOIN 
       exp_member_groups g 
       ON m.group_id = g.group_id 
WHERE m.member_id = @member_id 

Если вы нужны строки, даже если group_id не соответствует, то это LEFT JOIN - замените INNER JOIN на LEFT JOIN выше.

Смежные вопросы