|
MySQL.RU - Webboard
Вернуться
Немогу сделать корректную выборку из 4х табли (Kein) 03/03/2010 - 11:57:44
From: Kein - 03/03/2010 - 11:57:44
Subject:Немогу сделать корректную выборку из 4х табли
-----------------
Описание таблиц
applications { Список приложений
id, INT Идентификатор
name Имя
}
groups_in_app{ # Список приложений разрешенных группам
app, INT ИД приложения(applicaions.id)
gid, INT ИД группы
access INT - уровень доступа - определяет уровень доступа к приложению groups_in_app.app для группы groups_in_app.gid
}
users_in_app{ # Список приложенний разрешенных для пользователей, то же что и предыдущая, только права перезаписываются из этой таблицы, то есть если в этой таблице есть правило для пользователя, оно перезапишет права полученные из группы
app, INT ИД приложения
uid, INT ИД пользователя
access INT Уовень доступа
}
users_in_groups{ # Список пользователей в группах, пользователь может быть в разных группах
uid,INT ИД пользователя
gid INT ИД группы
}
Кроме того в таблице groups_in_app есть приложения с ИД группы 0, это для гостей.
Мне нужны выбрать поля "Название приложения", "Уровень доступа".
Вот что получилось
"SELECT applications.name,
IFNULL(users_in_app.access,
MAX(groups_in_app.access)) AS access
FROM users_in_groups,applications, groups_in_app
LEFT JOIN users_in_app ON (users_in_app.app = groups_in_app.app)
WHERE users_in_groups.gid = groups_in_app.gid AND
groups_in_app.app = applications.id AND
groups_in_app.gid = 0 OR
users_in_groups.uid = 1
GROUP BY applications.name"
Но что-то не то совсем
Вот тестовый дамп http://pastebin.com/FCqt5ugx
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
36851
|
|