Dtw Мускул стал держать хранимые процедуры начиная с версии 5.0... а стабильно и того позже. Думаю дело в этом)
Впринципе все легко - одно НО. По данной структуре не пойму (хотя особо не думал) вот это: 7.Вывести предметы, читающиеся хотя бы в двух семестрах. Т.е. в таблице м.б. нсколько одноименных предметов с разными идентификаторами? Другого варианта не вижу
Структура таблиц Code: CREATE TABLE `Lecturers` ( `id` INT( 5 ) UNSIGNED NOT NULL AUTO_INCREMENT , `fio` VARCHAR( 100 ) NOT NULL , `rank` VARCHAR( 40 ) NOT NULL , `post` VARCHAR( 40 ) NOT NULL , PRIMARY KEY ( `id` ) ); CREATE TABLE `disciplines` ( `id` int(5) unsigned NOT NULL auto_increment, `title` varchar(70) NOT NULL, `semestr` int(2) NOT NULL, `form` enum('exam','setoff','other') NOT NULL, PRIMARY KEY (`id`) ); CREATE TABLE `schedule` ( `id_lector` int(5) UNSIGNED NOT NULL, `id_discipline` int(5) UNSIGNED NOT NULL, `weekday` enum('Понедельник','Вторник','Среда','Четверг','Пятница','Суббота','Воскресенье') NOT NULL, PRIMARY KEY (`id_lector`,`id_discipline`), FOREIGN KEY (`id_lector`) REFERENCES `lecturers`(`id`), FOREIGN KEY (`id_discipline`) REFERENCES `disciplines`(`id`) ); Если что не нравится - можешь поменять Вот собственно сами запросы: Code: 1) SELECT * FROM `lecturers` WHERE `rank`='Кандидат Наук' ---------------------- 2)SELECT DISTINCT `fio` FROM `schedule` as `sc` JOIN `disciplines` as `d` on `sc`.`id_discipline`=`d`.`id` JOIN `lecturers` as `l` on `l`.`id`=`sc`.`id_lector` WHERE `d`.`form`='exam' AND (`id_lector`,`semestr`) <> ALL( SELECT `id_lector`,`semestr` FROM `schedule` as `sc` JOIN `disciplines` as `d` on `sc`.`id_discipline`=`d`.`id` WHERE `d`.`form`<>'exam' ) ---------------------- 3) SELECT DISTINCT `fio` FROM `schedule` as `sc` JOIN `disciplines` as `d` on `sc`.`id_discipline`=`d`.`id` JOIN `lecturers` as `l` on `l`.`id`=`sc`.`id_lector` WHERE `d`.`form`='setoff' ---------------------- 4) SELECT * FROM lecturers` ---------------------- 5) SELECT DISTINCT `l`.`fio` FROM `lecturers` as `l` JOIN `schedule` as `sc` on `l`.`id`=`sc`.`id_lector` JOIN `disciplines` as `d` on `sc`.`id_discipline`=`d`.`id` WHERE `l`.`id` <> ALL( SELECT `l`.`id` FROM `lecturers` as `l` JOIN `schedule` as `sc` on `l`.`id`=`sc`.`id_lector` JOIN `disciplines` as `d` on `sc`.`id_discipline`=`d`.`id` WHERE `d`.`semestr` NOT IN (3,4)) ---------------------- 6) SELECT `fio` FROM `schedule` as `sc` JOIN `disciplines` as `d` on `sc`.`id_discipline`=`d`.`id` JOIN `lecturers` as `l` on `l`.`id`=`sc`.`id_lector` WHERE `l`.`rank` = 'Кандидат Наук' AND (`d`.`semestr`=7 OR `d`.`semestr`=8) ---------------------- 7) SELECT `title` FROM `disciplines` GROUP BY `title` HAVING count(DISTINCT `semestr`)>1 ---------------------- 8) SELECT `l`.`fio` FROM `schedule` as `sc` JOIN `disciplines` as `d` on `sc`.`id_discipline`=`d`.`id` JOIN `lecturers` as `l` on `l`.`id`=`sc`.`id_lector` WHERE `l`.`rank`='Доцент' GROUP BY `l`.`id` HAVING count(DISTINCT `d`.`title`)=3 ---------------------- 9) SELECT `l`.`fio` FROM `schedule` as `sc` JOIN `disciplines` as `d` on `sc`.`id_discipline`=`d`.`id` JOIN `lecturers` as `l` on `l`.`id`=`sc`.`id_lector` WHERE `l`.`rank`='Доктор Наук' AND `d`.`form`='exam' AND (`d`.`semestr`=9 OR `d`.`semestr`=10) Сильно не тестил - если что бут не так - то стучись, помогу.
Помогите такая проблема что при таком запросе он достает многа одинаковых фотах в чем может быть ошибка ? SELECT jos_vm_product.product_thumb_image FROM jos_vm_product,jos_vm_product_category_xref where category_id Мне надо выбрать с Бд таблицы jos_vm_product,jos_vm_product_category_xref Это таблицы компонент джумлы virtuemart.. как бы запросом достаю все фото на продукт ток он их че выводи 5 раз одно фото однаково PHP: $query="SELECT jos_vm_product.product_thumb_image FROM jos_vm_product,jos_vm_product_category_xref where category_id=$id "; return $res2 = mysql_query($query);
Что бы не , а всяко-разно обьясни какие именно поля нужно выбирать, и из каких таблиц И ПО КАКОМУ УСЛОВИЮ Данный запрос выбирает поле product_thumb_image из таблицы jos_vm_product по неизвестно какому условию, возможно правильно "WHERE jos_vm_product.category_id=" или так Какие поля в jos_vm_product_category_xref ?
Поля такие category_id product_id product_list 123 99 NULL таблице jos_vm_product .поле product_thumb_image нет category_id а есть product_id
Где ошибка выборе Все поля выбирает этот запрос а получить че их не могу поле получить не могу category_name
Не подходит он выводит все категории мне надо чтоб поле category_name было выведено по знач category_child_id надо получить category_name. category_id Таблице jos_vm_category_xref category_parent_id category_child_id category_list Таблице Таблица : jos_vm_category category_id vendor_id category_name category_description --тк дл
пропиши отдельно Code: WHERE jos_vm_category.category_id=jos_vm_cate gory.category_id AND jos_vm_category_xref.category_child_id=jos_vm_cate gory.category_id; не "перовое" и "второе" равно "третьему", а "первое" равно "третьему" и "второе" равно "третьему"
Не помогает все равно выводит парент ид мне надо ток чилд иди .................................................................................................. Таблица : jos_vm_category_xref поля category_parent_id category_child_id category_list ............................................................................................. category_id vendor_id category_name ............................................................................................ . Это запрос все работает правельно при построение структура така Как мне добраться Суб меню (category_child_id)?
[Вопрос: Sql] Копирование части одной таблицы в другую (по выборочным полям) Допустим есть 2 таблицы с такими полями 1: user_id | name 2: id | user_id | news_id Вопрос: Можно ли одним запросом вставить данные из первой таблица во второю, что бы tbl1.user_id попал в tbl2. user_id, а tbl2.news_id было постоянным числом, мною заданным ? Пример tb1: tb2: - допустим пустая, после запроса должна выглядеть так: где "значение" - число, которое я укажу блин вроде все просто... но что-то я втыкаю
мля ступил ... тебе надо в уже существующую таблу. тогда так. insert into tb2( user_id, news_id) values (select user_id, 'значение' from tb1) вроде так.