Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > помогите с запросом


Автор: fletcher 12.6.2009, 19:46
здравствуйте!

есть база данных на MySQL с таблицами:

mark поля: (id, id_stud, id_disc, type_mark, mark)
stolb поля: (id, id_type, date_mark)
type поля: (id, type)

таблица со студентами и таблица с дисциплинами. 
подскажите как написать запрос или какого вида он должен быть, чтобы слева была колонка с именами студентов, а вправо шли колонки с оценками (за месяц, итоговые, контрольные, зачеты, экзамены). 

Связи таблиц:

mark связывается со stolb ( mark.type_mark = stolb.id)
                              с таблицей студентов по mark.id_stud = students.id
                              и с таблицей предметов, по которым выставили оценки
stolb связывается с type (stolb.id_type = type.id)

делаю веб интерфейс базы данных (PHP MySQL, на PHP пользуюсь функциями mysqli), столкнулся с такой проблемой, помогите пожалуйста. 

п.с. всего в базе 9 таблиц, из 5 остальных собирается запись о предмете, по которому выставили оценку и потом id предмета передается таблице mark в поле id_disc.

Автор: youri 12.6.2009, 20:02
непонятно, зачем stolb и type: date_mark и type вполне могли бы быть в таблице mark. Разве что для типов может понадобиться таблица, если пользователи могут добавлять свои типы оценок

а вообще джойнишь студентов с оценками и предметами, а по столбцам уже в php расставляешь. Но если очень хочеться, то можно проджойнить с оценками и предметами по количеству столбцов с разными типами оценок

Автор: fletcher 12.6.2009, 20:24
джойнишь = left join? Если можно, по подробнее  smile 

Автор: fletcher 24.6.2009, 14:01
решил проблему: написал запрос в базу в таблицу столб и таблицу марк, данные занес в массив и потом вывел в таблицу.  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)