Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/75: Рейтинг темы: голосов - 75, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 08.05.2011
Сообщений: 20

Не могу разобраться с 2 запросами

20.04.2016, 11:00. Показов 16380. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
1 Запрос: Вывести список сотрудников, получающих заработную плату большую чем у непосредственного руководителя.

Все к чему пришла это:
T-SQL
1
2
3
4
5
Select e.surname, e.name
from EMPLOYEE e left join SALARY s
on e.id = s.employee_id
where s.ammount >
all(select  s.ammount as bosssalary from EMPLOYEE e inner join SALARY s on e.boss_id = s.employee_id)
При этом понимаю, что запрос не верный, т.к не учитывается зп непосредственного начальника


2 Запрос: Вывести список отделов, количество сотрудников в которых превышает среднее в отделе.
Не могу понять, как можно сделать среднее от количества.

ps Так же буду очень благодарна, если расскажите мне как можно заполнить все таблицы случайными значениями, так как без помощи этот вопрос я тоже не решу.
Миниатюры
Не могу разобраться с 2 запросами  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.04.2016, 11:00
Ответы с готовыми решениями:

Приложение PHP+MySQL, не могу разобраться с запросами
Всем привет. Подскажите пожалуйста, как сделать так, чтобы запрос PHP брал значения из полей input type=text и вставлял в VALUES. То есть...

Требуется разобраться с запросами
Добрый день уважаемые форумчане! С толкнулся с такой проблемой: имеются 2 таблицы, Хозяйства и продукция. Файл приложен. По ним...

Помогите разобраться с запросами
Господа, прошу помощи, а точнее объясните разницу между 2-мя ниженаписанными запросами, 1-й работает, 2-й нет... запрос 1: POST...

11
Zero day
 Аватар для Meridian21
267 / 231 / 78
Регистрация: 16.12.2015
Сообщений: 943
Записей в блоге: 4
20.04.2016, 12:26
shyke, зачем left join c salary? В задаче вся "сложность" в том, что таблица employees ссылается сама на себя. Будет скорее всего так:
T-SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
select cel.name, cel.sername, cel.departmnent_id, cel.amountdecimal
  from ((select qq.name, qq.surname, qq.department_id, ww.amountdecimal 
           from employees qq
           join salary ww
             on qq.id = ww.employee_id
          where qq.id <> qq.boss_id) cel join
        (select w.amountdeciaml, w.department_id 
           from employee q
           join salary w
             on q.id = w.employee_id
          where q.boss_id = q.id) val on
        cel.department_id = val.department_id where
        cel.amountdecimal > val.amountdecimal)
0
5970 / 4546 / 1094
Регистрация: 29.08.2013
Сообщений: 28,168
Записей в блоге: 3
20.04.2016, 12:26
а почему boss_id имеет формат INT?
у вас несколько боссов? или другая логика?

Цитата Сообщение от shyke Посмотреть сообщение
Так же буду очень благодарна, если расскажите мне как можно заполнить все таблицы случайными значениями
ищите в яндексе top100 русских фамилий, разбиваете по 10 - это у вас отделы
любому в отделе ставите признак "босс"
зарплату пишите из головы
0
0 / 0 / 0
Регистрация: 08.05.2011
Сообщений: 20
20.04.2016, 12:37  [ТС]
а почему boss_id имеет формат INT?
у вас несколько боссов? или другая логика?
boss_id это внешний ключ к imployee_id, подразумевается, что это не просто признак босс/не босс, это ссылка на начальника.

ищите в яндексе top100 русских фамилий, разбиваете по 10 - это у вас отделы
любому в отделе ставите признак "босс"
зарплату пишите из головы
И тут вы меня не поняли, мне нужно разработать набор скриптов, заполняющих таблицы случайными данными.
0
Zero day
 Аватар для Meridian21
267 / 231 / 78
Регистрация: 16.12.2015
Сообщений: 943
Записей в блоге: 4
20.04.2016, 12:49
shyke, второй запрос будет такой. Если нужно название отдела, то тогда еще 1-н join c department

select count(e.id), e.department_id
from employee
group by e.department_id
having count(e.id) >
select *
from (round (select (count(q.id) / (select count(*) from department))
from employee q
group by q.department_id), 2)
0
0 / 0 / 0
Регистрация: 08.05.2011
Сообщений: 20
20.04.2016, 14:00  [ТС]
select cel.name, cel.sername, cel.departmnent_id, cel.amountdecimal
from ((select qq.name, qq.surname, qq.department_id, ww.amountdecimal
from employees qq
join salary ww
on qq.id = ww.employee_id
where qq.id <> qq.boss_id) cel join
(select w.amountdeciaml, w.department_id
from employee q
join salary w
on q.id = w.employee_id
where q.boss_id = q.id) val on
cel.department_id = val.department_id where
cel.amountdecimal > val.amountdecimal)
На это выдает ошибка Incorrect syntax near the keyword 'where'.

select count(e.id), e.department_id
from employee
group by e.department_id
having count(e.id) >
select *
from (round (select (count(q.id) / (select count(*) from department))
from employee q
group by q.department_id), 2)
Тут тоже много ошибок с синтаксисом, видимо скобок не хватает, не глянете еще раз?
0
5970 / 4546 / 1094
Регистрация: 29.08.2013
Сообщений: 28,168
Записей в блоге: 3
20.04.2016, 14:05
Цитата Сообщение от shyke Посмотреть сообщение
И тут вы меня не поняли, мне нужно разработать набор скриптов, заполняющих таблицы случайными данными.
я подсказал как наполнить таблицы, а про набор скриптов вы первый раз пишите

запросы вас устраивают?
0
0 / 0 / 0
Регистрация: 08.05.2011
Сообщений: 20
20.04.2016, 14:09  [ТС]
согласна, не корректно написала проблему.

да, запросы устраивают.
0
5970 / 4546 / 1094
Регистрация: 29.08.2013
Сообщений: 28,168
Записей в блоге: 3
20.04.2016, 14:12
Цитата Сообщение от qwertehok Посмотреть сообщение
мне нужно разработать набор скриптов, заполняющих таблицы случайными данными.
точно случайными?
может сделать просто отдельный sql файл в котором запросами создать таблицу и записать данные?
случайными могут быть числа, а как заполнить таблицу случайными фамилиями?
0
0 / 0 / 0
Регистрация: 08.05.2011
Сообщений: 20
20.04.2016, 14:23  [ТС]
Да точно, абсолютно случайными, но спасибо, вроде с этим я разобралась с помощью RAND() и эквивалетности значений. Фамили не принципиально, чтобы были адекватными, не такого формата задание.

проблема остается только в 2-х запросах из первого сообщения.
0
5970 / 4546 / 1094
Регистрация: 29.08.2013
Сообщений: 28,168
Записей в блоге: 3
20.04.2016, 14:33
если не получится - пишите
а так же свои скрипты по формированию таблиц - они помогут для тестирования запросов
0
Zero day
 Аватар для Meridian21
267 / 231 / 78
Регистрация: 16.12.2015
Сообщений: 943
Записей в блоге: 4
20.04.2016, 14:55
В 1-м запросе where можно попробовать вынести за внешние скобки.
В 2-м запросе пропустил алиас "е" к таблице employee во внешнем запросе.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.04.2016, 14:55
Помогаю со студенческими работами здесь

Задали работу, не могу разобраться. Используется делфи 10, не могу разобраться, как это сделать
В одномерном массиве, состоящем из n вещественных элементов, вычислить: минимальный элемент массива и сумму элементов массива,...

Надо разобраться с sql запросами в php my admin
Select * from dual;

Люди добрые нужно разобраться с запросами SQL пожалуйста!
1. Выбрать все книги, у которых прошел срок возврата. 2. Выбрать все книги, выпущенные издательствами, в название которых входит слово ...

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

Не могу разобраться разобраться с кодом меню
Добрый день. Я понимаю, что тут все, наверное, элементарно. Но я только начала изучение js и пока для меня все страшно и сложно. Проблема...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru