2016-03-04 2 views
0

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

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

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

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

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

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

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

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

+0

Где бы вы получить данные из? Основная схема базы данных MusicBrainz несколько раз менялась за последние несколько лет и больше не соответствует той схеме, на которую вы ссылаетесь. Например, больше нет таблицы 'artist_name'; имя теперь является столбцом 'TEXT' в самой таблице' artist'. – chirlu

+0

Есть ли причина, по которой вам нужна вся база данных и не может использовать [MusicBrainz Web Service] (https://musicbrainz.org/doc/Development/XML_Web_Service/Version_2) (или любой из [libraries] (https://musicbrainz.org/doc/Development/XML_Web_Service/Version_2#Libraries_to_use_the_Web_Service))? Если это так, то вам нужно [установить полную базу данных вместе с сервером] (https://musicbrainz.org/doc/MusicBrainz_Database/Download). – JonnyJD

ответ

0

Вы можете увидеть пример на 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 соединения и я показать на этой картинке, почему:

enter image description here

+0

Большое вам спасибо! как я могу вставить выбранные данные в другую базу данных? – itailitai

+0

Попробуйте использовать этот метод: http://stackoverflow.com/questions/2359205/copying-data-from-one-sqlite-db-to-another –

Смежные вопросы