|
MySQL.RU - Webboard
Вернуться
Как сделать четвертной запрос? (Артём) 18/12/2011 - 22:02:59
Re: Как сделать четвертной запрос? (Akina) 19/12/2011 - 18:18:31
From: Артём - 18/12/2011 - 22:02:59
Subject:Как сделать четвертной запрос?
-----------------
Привет всем! Прошу помощи.
Колледжи
CREATE TABLE IF NOT EXISTS `ed_college` (
`id` int(11) NOT NULL default '0',
`short_name` varchar(100) NOT NULL default '',
)
СПЕЦИАЛЬНОСТИ колледжей. Содержит id своего колледжа.
CREATE TABLE IF NOT EXISTS `ed_college_specialty` (
`id` int(11) NOT NULL auto_increment,
`college_id` int(11) NOT NULL default '0' COMMENT 'id колледжа',
)
ПРОФИЛИ - содержит названия профилей
CREATE TABLE IF NOT EXISTS `ed_college_profiles` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(50) NOT NULL default '',
)
СВЯЗУЮЩАЯ ТАБЛИЦА - для каждой новой специальности создаётся запись, содержащая id специальности и id профиля, которому она соответствует. У одной специальности может быть много профилей. Поэтому и была введена эта таблица
CREATE TABLE IF NOT EXISTS `ed_college_profiles_` (
`id` int(11) NOT NULL auto_increment,
`spec_id` int(11) NOT NULL default '0' COMMENT 'специальность',
`prof_id` int(11) NOT NULL default '0' COMMENT 'профиль',
)
Думаю, из этой схемы всё ясно.
Моя задача сделать так чтобы одним запросом определить сколько всего колледжей, у которых есть специальности.
И в этом же запросе определить название профиля, которому они принадлежат.
Должно выглядеть так:
Авицация и космонавтика (5 колледжей)
Медицина (3 колледжа)
Я столкнулся с проблемой. Если один и тот же колледж содержит разные специальности с одинаковым профилем, то колледж считается дважды. А так быть не должно. Мне нужно в каждом профиле видеть один колледж только один раз.
Задача сложная для понимания, так что на ответ почти не надеюсь.
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
40835
|
|