Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
mik_q3 Member Откуда: Сообщений: 13 |
Добрый вечер, помогите,пожалуйста оптимизировать, выборку Необходимо вывести саму длинную песню исполнителя "Петя" (Имя исполнителя, название песни, длительность) Связи между таблицами artist и songs нет. Мой вариант немного громоздкий, но пока на ум ничего другого не приходит((( ![]() select a.name as a1, ds.disk_id, s.name, duration from Songs s inner join disk_songs ds on ds.song_id = s.song_id inner join Disk d on d.disk_id = ds.disk_id inner join Artist a on d.art_id = a.art_id where a.name = 'Petya' and duration = ( select max(duration) from ( select duration from Songs s inner join disk_songs ds on ds.song_id = s.song_id inner join Disk d on d.disk_id = ds.disk_id inner join Artist a on d.art_id = a.art_id where a.name = 'Petya' )tbl ) |
8 авг 15, 20:39 [17993723] Ответить | Цитировать Сообщить модератору |
ЦБ Member [заблокирован] Откуда: Сообщений: 2773 |
mik_q3,select top 1 a.name as a1, ds.disk_id, s.name, duration from Songs s inner join disk_songs ds on ds.song_id = s.song_id inner join Disk d on d.disk_id = ds.disk_id inner join Artist a on d.art_id = a.art_id where a.name = 'Petya' order by duration desc но с учётом, что у тебя MySQL, так select a.name as a1, ds.disk_id, s.name, duration from Songs s inner join disk_songs ds on ds.song_id = s.song_id inner join Disk d on d.disk_id = ds.disk_id inner join Artist a on d.art_id = a.art_id where a.name = 'Petya' order by duration desc limit 1 |
8 авг 15, 21:20 [17993836] Ответить | Цитировать Сообщить модератору |
Doctormom Member Откуда: Сообщений: 48 |
mik_q3, Может как то так... Select top 1 S.name, max (duration) from Song S inner join Disk_Song DS on DS.Song_ID = S.Song_ID inner join Disk D ON D.Disk_ID = DS.Disk_ID inner join Artist A ON A.art_id = D.Art_ID where A. name = 'Petya' group by S.Name order by MAX (duraion) asc но проверить не получается нет исходных данных |
8 авг 15, 21:26 [17993852] Ответить | Цитировать Сообщить модератору |
mik_q3 Member Откуда: Сообщений: 13 |
Спасибо всем большое - помогли! |
8 авг 15, 23:51 [17994269] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |