Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите составить запрос... Из двух таблиц... 
:(
    Опции темы
AntonioBanderaz
Дата 14.11.2005, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Velichko Anton
**


Профиль
Группа: Участник
Сообщений: 851
Регистрация: 28.4.2005
Где: Санкт-Петербург

Репутация: 1
Всего: 18



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

Таблица privilege
Код

id    |    name    |   value   |   desription

таблица g_privileges
Код

id    |    g_id      |   priv_id


Вот так сделать такую выборку, чтобы для определённой группы (g_id) показывались все привилегии, которые она имеет + те которые у неё нет...
Тривиальное решение
Код

SELECT DISTINCT privilege.id,privilege.desription,IF(g_privileges.g_id = 1 AND privilege.id = g_privileges.priv_id,1,0) as chd 
FROM privilege, g_privileges 
WHERE privilege.id = g_privileges.priv_id

неподходит, тк.
    1: Не все привилегии могут быть распределены по группам
    2: Если групп больше чем одна, он выводит привилегии для всех групп, т.е. для одной группы, потом для другой как новые привилегии....
Тут были потуги решить по-другому
Код

SELECT DISTINCT privilege.*,IF(g_privileges.g_id = '.$id.',1,0) as chd 
FROM privilege 
LEFT JOIN g_privileges 
ON privilege.id = g_privileges.priv_id 
ORDER BY chd 
DESC


Тоже самое... Конструкции типа
Код

SELECT ..... WHERE .... IN(SELECT .... )

Не могу пользовать, не поддерж мускул...

Зарание спасибо ))))


--------------------
ГЫ... 
PM MAIL ICQ   Вверх
Akina
Дата 14.11.2005, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Версию Мускула мы узнаем?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
AntonioBanderaz
Дата 14.11.2005, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Velichko Anton
**


Профиль
Группа: Участник
Сообщений: 851
Регистрация: 28.4.2005
Где: Санкт-Петербург

Репутация: 1
Всего: 18



3.23.38
Добавлено @ 10:59
Ой это клиент, 4.0.26


--------------------
ГЫ... 
PM MAIL ICQ   Вверх
AntonioBanderaz
Дата 16.11.2005, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Velichko Anton
**


Профиль
Группа: Участник
Сообщений: 851
Регистрация: 28.4.2005
Где: Санкт-Петербург

Репутация: 1
Всего: 18



НАРОД ПОМОГИТЕ ПОЖАЛУЙСТА )


--------------------
ГЫ... 
PM MAIL ICQ   Вверх
Bikutoru
Дата 16.11.2005, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Увлекающийся
**


Профиль
Группа: Участник
Сообщений: 522
Регистрация: 24.5.2005
Где: Москва

Репутация: 1
Всего: 22



Код

SELECT p.id, p.name, IF(gp.id IS NULL, 0, 1) AS has_priv
FROM privelege AS p
LEFT JOIN g_privileges AS gp ON gp.priv_id=p.id AND gp.g_id={GROUP-ID}

?


--------------------
Человек, словно в зеркале мир — многолик, 
Он ничтожен — и он же безмерно велик!
Омар Хайям
PM   Вверх
AntonioBanderaz
Дата 16.11.2005, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Velichko Anton
**


Профиль
Группа: Участник
Сообщений: 851
Регистрация: 28.4.2005
Где: Санкт-Петербург

Репутация: 1
Всего: 18



если я не ошибаюсь, из этого врятли что-то получится.... ИМХО кончно... Попробую )))


--------------------
ГЫ... 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0469 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.