2015-05-31 2 views
-2

Ex_complex is an exercise complexНаписать2 SQL запросы

Это мой ERD. Я использую Oracle SQL. Мне нужно:

1) Выберите упражнение, в котором задействовано наибольшее количество мышц.

2) Выберите лучшие 5 упражнений по количеству вовлеченных мышц.

+0

Non таблицы имеют «количество мышц», вы можете предложить какую таблицу и колонка даст «количество мышц»? –

+0

Можете ли вы создать [SQL Fiddle?] (Http://sqlfiddle.com/) Это не должно быть так сложно, но мне нужно немного поиграть, я не использовал синтаксис оракула, поэтому мне нужно проверить, работа ... –

+2

включают ваши данные образца и ожидаемый результат? Прочитайте это http://stackoverflow.com/help/how-to-ask – HaveNoDisplayName

ответ

0

я написал запросы: Это для первой задачи и второй будет таким же, за исключением R < 6:

SELECT * 
FROM exercise 
WHERE exercise.ex_id = any 
    (SELECT ex_id 
    FROM 
     (SELECT e.ex_id, dense_rank() over (ORDER BY count(*) DESC) AS R 
     FROM muscle m, muscle_group mg, ex_complex ex_c, exercise e 
     WHERE m.mgroup_id = mg.mgroup_id 
      AND ex_c.mgroup_id = mg.mgroup_id 
      AND ex_c.ex_id = e.ex_id 
     GROUP BY e.ex_id) 
    WHERE R < 2); 
Смежные вопросы