SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 30.01.2013 13:58:43

Jops
Участник
Зарегистрирован: 28.01.2013
Сообщений: 8

VIEW или как поломать мозг

Здравствуйте уважаемые!

Есть такая вьюшка:

ALTER ALGORITHM=UNDEFINED `view_rules` AS
SELECT `cl`.`cam_id` AS `cam_id`,
`cu`.`user_id` AS `user_id`,
`cu`.`group_id` AS `group_id`,
`cu`.`user_login` AS `user_login`,
`cl`.`cam_name` AS `cam_name`,
`cl`.`allowed_to_all` AS `allowed_to_all`,
`cu`.`is_admin` AS `is_admin`,
`crg`.`rule_status` AS `rule_status_group`,
`cr`.`rule_status` AS `rule_status`,
                                      (case when ((`cl`.`allowed_to_all` > 0) and isnull(`crg`.`rule_status`) and isnull(`cr`.`rule_status`) and (`cu`.`is_admin` = 0))
                                      then `cl`.`allowed_to_all` when ((`crg`.`rule_status` is not null) and isnull(`cr`.`rule_status`) and (`cu`.`is_admin` = 0))
                                      then `crg`.`rule_status` when ((`cr`.`rule_status` is not null) and (`cu`.`is_admin` = 0)) then `cr`.`rule_status` when (`cu`.`is_admin` > 0)
                                      then `cu`.`is_admin` else 0 end) AS `result`
FROM (((`cams_list` `cl` join `cams_users` `cu`)
left join `cams_rules` `cr` on(((`cr`.`user_id` = `cu`.`user_id`) and (`cr`.`cam_id` = `cl`.`cam_id`))))
left join `cams_rules_groups` `crg` on(((`crg`.`group_id` = `cu`.`group_id`) and (`crg`.`cam_id` = `cl`.`cam_id`))))
ORDER BY `cu`.`user_id`

Смысл переделки вот в чём. Нужно добавить cams_groups.group_name в эту вьюшку, отсортировать по cams_groups.group_id и поля rule_status_group, rule_status могут иметь значение NULL, остальные нет)

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

Файл с таблицами прилагается


Прикрепленные файлы:
Attachment Icon localhost.sql, Размер: 10,597 байт, Скачано: 1,115

Неактивен

 

#2 30.01.2013 14:16:35

Jops
Участник
Зарегистрирован: 28.01.2013
Сообщений: 8

Re: VIEW или как поломать мозг

То есть вся эта выборка с условиями сделана для user_id, user_login, а надо для group_id, group_name

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson