
Новичок
Профиль
Группа: Участник
Сообщений: 18
Регистрация: 26.2.2007
Репутация: нет Всего: 3
|
Имеется система из 6 таблиц.. здесь их структура и тестовые данные: Код | -- -- Структура таблицы `ABITURA` --
CREATE TABLE `ABITURA` ( `ID` int(11) NOT NULL default '0', `FIO` varchar(255) NOT NULL default '', PRIMARY KEY (`ID`) ) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
-- -- Дамп данных таблицы `ABITURA` --
INSERT INTO `ABITURA` VALUES (70, 'Ваня'); INSERT INTO `ABITURA` VALUES (64, 'Саша'); INSERT INTO `ABITURA` VALUES (65, 'Петя');
-- --------------------------------------------------------
-- -- Структура таблицы `EKZ` --
CREATE TABLE `EKZ` ( `ID` int(11) NOT NULL default '0', `NAME` varchar(255) NOT NULL default '', PRIMARY KEY (`ID`) ) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
-- -- Дамп данных таблицы `EKZ` --
INSERT INTO `EKZ` VALUES (68, 'Русский (зачет)'); INSERT INTO `EKZ` VALUES (69, 'Обществознание'); INSERT INTO `EKZ` VALUES (67, 'Математика');
-- --------------------------------------------------------
-- -- Структура таблицы `FACS` --
CREATE TABLE `FACS` ( `ID` int(11) NOT NULL default '0', `NAME` varchar(255) NOT NULL default '', `MEST` int(11) NOT NULL default '0', PRIMARY KEY (`ID`) ) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
-- -- Дамп данных таблицы `FACS` --
INSERT INTO `FACS` VALUES (61, 'ИВТ', 100); INSERT INTO `FACS` VALUES (63, 'Экономика', 80); INSERT INTO `FACS` VALUES (62, 'Математика', 100);
-- --------------------------------------------------------
-- -- Структура таблицы `F_E` --
CREATE TABLE `F_E` ( `FAC_ID` int(11) NOT NULL default '0', `EKZ_ID` int(11) NOT NULL default '0', PRIMARY KEY (`FAC_ID`,`EKZ_ID`) ) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
-- -- Дамп данных таблицы `F_E` --
INSERT INTO `F_E` VALUES (61, 66); INSERT INTO `F_E` VALUES (61, 67); INSERT INTO `F_E` VALUES (61, 68); INSERT INTO `F_E` VALUES (62, 66); INSERT INTO `F_E` VALUES (62, 67); INSERT INTO `F_E` VALUES (62, 68); INSERT INTO `F_E` VALUES (63, 68); INSERT INTO `F_E` VALUES (63, 69);
-- --------------------------------------------------------
-- -- Структура таблицы `SD_EKZ` --
CREATE TABLE `SD_EKZ` ( `ABIT_ID` int(11) NOT NULL default '0', `EKZ_ID` int(11) NOT NULL default '0', `MARK` int(11) NOT NULL default '0', PRIMARY KEY (`ABIT_ID`,`EKZ_ID`) ) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
-- -- Дамп данных таблицы `SD_EKZ` --
INSERT INTO `SD_EKZ` VALUES (70, 67, 2); INSERT INTO `SD_EKZ` VALUES (70, 68, 2); INSERT INTO `SD_EKZ` VALUES (70, 69, 2); INSERT INTO `SD_EKZ` VALUES (65, 69, 5); INSERT INTO `SD_EKZ` VALUES (64, 67, 3); INSERT INTO `SD_EKZ` VALUES (65, 67, 5); INSERT INTO `SD_EKZ` VALUES (64, 68, 4); INSERT INTO `SD_EKZ` VALUES (65, 68, 2);
-- --------------------------------------------------------
-- -- Структура таблицы `SP_Z_F` --
CREATE TABLE `SP_Z_F` ( `FAC_ID` int(11) NOT NULL default '0', `ABIT_ID` int(11) NOT NULL default '0', PRIMARY KEY (`FAC_ID`,`ABIT_ID`) ) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
-- -- Дамп данных таблицы `SP_Z_F` --
INSERT INTO `SP_Z_F` VALUES (41, 42); INSERT INTO `SP_Z_F` VALUES (44, 42); INSERT INTO `SP_Z_F` VALUES (46, 1); INSERT INTO `SP_Z_F` VALUES (46, 42); INSERT INTO `SP_Z_F` VALUES (61, 64); INSERT INTO `SP_Z_F` VALUES (61, 65); INSERT INTO `SP_Z_F` VALUES (61, 70); INSERT INTO `SP_Z_F` VALUES (62, 70); INSERT INTO `SP_Z_F` VALUES (63, 65); INSERT INTO `SP_Z_F` VALUES (63, 70);
|
таблицы: ABITURA - это ИД и ФИО абитуриента FACS - ID и ИМЯ факультета и кол-во мест EKZ - ID и НАЗВАНИЕ экзамена F_E - таблица , в которой хранятся записи типа Факультет-Экзамен.. т.е. все экзамены для каждого факультета SP_Z_F - список заявленных факультетов.. там ИД абитурианта и ИД фака на который он подал заявку (один абитур. может подать на несколько факов) SD_EKZ - ИД_абитуры, ИД_экзамена и оценка за него (от 2 до 5) нужно 1 запросом (можно сколько угодно вложенных) вывести тех абитуриентов, которые завалили хотябы 1 экзамен (написали на 2) на кадый заявленный факультеттут надо уточнить: если например на факультет Информатики и Математики надо сдавать "математику", то абитуриаент пишет этот экз 1 раз и результат сразу на все факи, на которые он подал заявку.. Вот такая вот задача
|