powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Несколько запросов по бд
7 сообщений из 7, страница 1 из 1
Несколько запросов по бд
    #40074458
eva160
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. У меня есть таблица с данными врачей. И у меня есть запросы, которые я не могу реализовать.
Код:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
CREATE TABLE `врач` (
  `ФИО` varchar(45) NOT NULL,
  `Специальность` varchar(45) DEFAULT NULL,
  `Стоимость` int NOT NULL,
  `Процент` int NOT NULL,
  PRIMARY KEY (`ФИО`)
);

insert into `врач` values
('Андреев А.А.', 'Педиатр', 100, 11),
('Богеева С.А.', 'Педиатр', 120, 10),
('Вольков Л.Л.', 'Педиатр', 120, 13),
('Гордеева А.А.', 'Хирург', 150, 10),
('Дореева К.К.', 'Хирург', 200, 13);



Запросы:

1) Выполнить группировку по полю специальность. Для каждой специальности вычислить максимальный процент на зарплату.
2) Отобразить поля таблицы с группировкой Стоимости.
...
Рейтинг: 0 / 0
Несколько запросов по бд
    #40074509
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Несколько запросов по бд
    #40074655
Gluck99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eva160,
Запросы-то элементарные, в две строчки, что конкретно не получается реализовать? Нужно хоть попробовать самостоятельно поскрипеть мозгами. Дальше-то как собираетесь жить?
...
Рейтинг: 0 / 0
Несколько запросов по бд
    #40074764
177Anastasia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите, что не так?
ввожу

SELECT MAX(Процент) as max FROM врач
WHERE 'Специальность'='Педиатр' AND 'Специальность'='Хирург'

Выдает
max
NULL


Что я тупица, я знаю, тухлыми помидорами прошу не кидаться))
...
Рейтинг: 0 / 0
Несколько запросов по бд
    #40074769
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как полагаете, строковый литерал 'Специальность' и строковый литерал 'Педиатр' - равны? вот даже на глаз видно - разные. А значит, запрос вернёт пустой набор записей для неявной группировки - что он собственно и демонстрирует, рисуя NULL.

В MySQL следует тщательнейшим образом следить, какие кавычки ставите. Для строк и даты-времени - одинарные. Для имён полей-таблиц - обратные. Для JSON-атрибутов, путей и значений - двойные.

После первого исправления будет:
Код: sql
1.
2.
SELECT MAX(Процент) as max FROM врач
WHERE `Специальность`='Педиатр' AND `Специальность`='Хирург'



Дальше. Весь набор условий тестирует каждую строку таблицы отдельно. Как полагаете, найдётся в таблице строка, в которой в поле Специальность значение равно 'Педиатр', и при этом одновременно равно 'Хирург'? повторяю - в ОДНОЙ И ТОЙ ЖЕ записи. Вряд ли...

Это ошибки в показанном запросе. Что же на самом деле нужно, я лично понять не могу, хотя прочитал задание несколько раз. Бред, не имеющий смысла... покажите хотя бы требуемые ответы запросов по каждому пункту, что ли...

Впрочем, не исключаю, что по пункту 1 нужно
Код: sql
1.
2.
3.
SELECT `Специальность`, MAX(`Процент`) AS `МаксимальныйПроцент`
FROM `Врач`
GROUP BY `Специальность`;



А по второму вообще тёмный лес.
...
Рейтинг: 0 / 0
Несколько запросов по бд
    #40074771
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в данном контексте
"OR" "AND"
...
Рейтинг: 0 / 0
Несколько запросов по бд
    #40074775
177Anastasia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Несколько запросов по бд
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]