![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| JEEN |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 88 Регистрация: 8.3.2008 Репутация: нет Всего: 1 |
смысл такой, есть таблица специальностей и групп. Может быть несколько групп с одной специальностью. Удалить специальность можно только в том случае если нет групп с этой специальностью. specialty sp_id | sp_name groups gr_id | gr_name | gr_specialty Это сообщение отредактировал(а) JEEN - 27.7.2010, 13:34 |
|||
|
||||
| letsgo |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 17.2.2009 Репутация: нет Всего: нет |
SELECT t1.sp_id, t1.sp_name, count(t2.gr_id) as count
FROM t1 LEFT JOIN t2 ON t2.gr_specialty = t1.sp_id GROUP BY t1.sp_id Дальше включаете while/ if ($row['count'] == 0) { ... } Это сообщение отредактировал(а) letsgo - 27.7.2010, 13:41 |
|||
|
||||
| JEEN |
|
||||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 88 Регистрация: 8.3.2008 Репутация: нет Всего: 1 |
Спасибо!
столкнулся еще с одной проблемой.. student id | name | group_id ++++++++++++++++++ 1 | Женя | 12 2 | Ваня | 10 3 | Миша | 12 group id | name | specialty_id ++++++++++++++++++++ 10 | 323гр. | 1 11 | 434гр. | 2 12 | 232гр. | 2 specialty id | name +++++++++ 1 | Информатика 2 | Математика ------------------------------ я пытаюсь сделать выборку, т.е. выбираю нужную мне специальность, скрипт выводит студентов которые учатся на этой специальности, но как видите в таблице студентов есть только поле с id группы. Пример: через форму получаю id специальности (например 2), узнаю у этой специальности группы (в данном случае группы с id 11 и 12) и ищу студентов которые учатся в этой группе (Женя и Миша). как это можно сделать? вот так вроде работает...
Вариант 1: не правильно считает $row_count, в данном случае считает количество групп, удовлетворяющих условию, а не студентов
Вариант 2: Так считает сколько всего студентов, и не обращает внимания на условие...
Вариант 3: Выводит ошибку Unknown column 'groups.gr_specialty' in 'on clause'
все 3 варианта содержат ошибку... Это сообщение отредактировал(а) JEEN - 27.7.2010, 22:31 |
||||||||
|
|||||||||
| ZneP |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 15.7.2008 Где: Россия, Москва Репутация: нет Всего: нет |
Выборка студентов, названия групп и названия специальностей по id специальности:
SELECT st.name, g.name, sp.name FROM students st LEFT JOIN group g ON g.group_id = st.group_id LEFT JOIN specialty sp ON sp.id = g.specialty_id WHERE sp.id = {$specialty} GROUP BY st.name, g.name, sp.name |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |