База данных Musicbrainz SQL

При поиске музыкальной базы данных я наткнулся на musicbrainz, я нашел базу данных SQLite Musicbrainz.

Схему базы данных можно найти здесь.

и файл с операторами создания таблиц и пояснительными комментариями здесь.

Проблема в том, что мне нужны только имена исполнителей и их песни в моей базе данных.

Вчера я часами пытался создать новую базу данных с исполнителями и названиями песен, но не смог заставить ее работать.

Я пытаюсь сделать что-то вроде этого:

Artist| Song |
--------------
Eminem|When i'm gone
Eminem|Lose yourself
The Eagles|Hotel California

Спасибо всем!


person itailitai    schedule 04.03.2016    source источник
comment
Откуда бы вы взяли данные? Основная схема базы данных MusicBrainz менялась несколько раз за последние несколько лет и больше не соответствует той схеме, на которую вы ссылаетесь. Например, больше нет таблицы artist_name; имя теперь является столбцом TEXT в самой таблице artist.   -  person chirlu    schedule 05.03.2016
comment
Есть ли причина, по которой вам нужна вся база данных и вы не можете использовать веб-службу MusicBrainz (или любую из библиотек)? Если да, то можно установить полную базу данных вместе с сервером.   -  person JonnyJD    schedule 05.03.2016


Ответы (1)


Вы можете увидеть пример на sqlfiddle

select an.name as Artist, tn.name as Song from artist_name an
    inner join artist a ON a.id = an.id
    inner join r_artist_track rat ON a.id = rat.entity0
    inner join track t ON t.id = entity1
    inner join track_name tn ON tn.id = t.id;

Вам нужно 4 соединения, и я показываю на этой картинке, почему:

введите здесь описание изображения

person alexander.polomodov    schedule 04.03.2016
comment
Большое спасибо! как я могу вставить выбранные данные в другую базу данных? - person itailitai; 05.03.2016
comment
Попробуйте использовать этот метод: stackoverflow.com/questions/2359205/ - person alexander.polomodov; 06.03.2016