У меня есть таблица sqlite под названием Tracks с информацией о множестве треков, хранящихся в моей музыкальной библиотеке. Столбцы в таблице следующие: artistName
, trackName
, trackPath
, imagePath
, year
, albumName
, bpm
, genre1
, genre2
, genre3
.
Я использую простой оператор выбора, чтобы вернуть все уникальные треки в моей таблице, например, чтобы получить все треки в жанре рок, я использую следующее:
SELECT DISTINCT artistName, trackName, trackPath, imagePath, year, albumName, bpm, genre1, genre2, genre3
FROM Tracks
WHERE genre1='Rock' or genre2='Rock' or genre3='Rock'
У меня проблема в том, что я не хочу возвращать 2 записи для трека, который может иметь другое значение года, но одно и то же имя исполнителя, имя трека, имя альбома. Например, если у меня есть 2 трека с artistName = 'Bruce Springsteen'
и trackName = 'Dancing In The Dark'
и albumName = 'Greatest Hits'
, но года могут быть разными, один может быть year = '1984'
, а другой может быть year = '1985'
, я просто хочу вернуть один из них, а не оба.
Может ли кто-нибудь помочь мне в этом? Это сводит меня с ума?!
limit 1
в конец запроса? Кроме того, вы должны создать новую таблицу с именемtrack_genres
, чтобы привязать жанры к вашим трекам, чтобы избежать столбцовgenre123
. - person juergen d   schedule 15.05.2014