Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / просто запрос в 3х таблицах / 5 сообщений из 5, страница 1 из 1
16.10.2015, 14:58:27
    #39078710
ASD_ROJD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
просто запрос в 3х таблицах
День добрый что то я запутался, слижком давно не писал запросов и вот понадобилось
есть 3 простые таблицы
User
id user password
1 admin1 password
2 admin2 password
3 admin3 password

UserInGroup
id userid groupid
1 1 1
2 2 2
3 3 1
4 1 4

UserGroup
id group comments
1 admins
2 admins2
3 admins3
4 admins4

надо найти какие пользователи входят в группу admins
пока дошел только до этого
(select useringroup.id ,usergroup.group from useringroup,usergroup where (useringroup.groupid=usergroup.id)and (usergroup.group='admins')

может кто поможет как написать весь запрос в 1 запросе без того что бы импортировать все во временную таблицу и потом ее сравнивать с конечной...хочется иметь в конце 2 столбца
User.user и UserGroup.group

заранее спасибо!
прикладываю картинку для наглядности
...
Рейтинг: 0 / 0
16.10.2015, 17:03:09
    #39078787
Lumix
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
просто запрос в 3х таблицах
Код: sql
1.
2.
3.
4.
select * from user u
    join userInGroup i on u.id = i.userId
    join userGroup g on i.groupId = g.id
        && g.group == 'admins'
...
Рейтинг: 0 / 0
16.10.2015, 17:17:20
    #39078799
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
просто запрос в 3х таблицах
Нафига грести все поля, если ему нужно только User.user?
...
Рейтинг: 0 / 0
16.10.2015, 20:25:53
    #39078901
ASD_ROJD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
просто запрос в 3х таблицах
Вопрос, а если в таблица окажется по 1000 записей, оно не создаст громадную таблицу? хотя результат запроса будет буквально 2-3 строчки? количество учетных записей более 5000 тыс только пользователей, групп около 1000, каждый пользователь принадлежит как минимум одной группе это еще в таблице связи как минимум 5000 тыс записей, а если все соединить а 1 таблицу это сколько же записей будет в подобном запросе? или я что то не правильно понимаю?
...
Рейтинг: 0 / 0
19.10.2015, 07:06:41
    #39079622
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
просто запрос в 3х таблицах
ASD_ROJDВопрос, а если в таблица окажется по 1000 записей, оно не создаст громадную таблицу?Замените * на count(*) в запросе Lumix-а и посмотрите, сколько записей оно насчитает.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / просто запрос в 3х таблицах / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]