0

ローカルにインストールし、pgAdmin 経由でアクセスしたmusicbrainz.org postgresql データベースを使用しています。

データベースは、音楽アーティストと関連する基準のリストです。これがスキーマです。

アーティストが持つ可能性のあるさまざまな関係をリストすることができます。たとえば、マドンナのウィキペディア ページと彼女のツイッター ハンドルなどへのリンクを含む、マドンナのために保持されている関係へのリンクは次のとおりです

特定のアーティストのすべての関係を出力する SQL クエリを作成するにはどうすればよいですか? 私が試してみました:

SELECT 
  url.url, 
  artist.name
FROM 
  musicbrainz.artist, 
  musicbrainz.url, 
  musicbrainz.link
WHERE 
  url.id = artist.id
ORDER BY
  url.url ASC;

ただし、これらのリンクは正しいアーティストと関連付けられていません。間違ったキーを使用していませんか?

4

1 に答える 1

2

モデルを確認しましたが、l_artist_url テーブルがありません。

SELECT url.url,
       artist.name
FROM artist
  JOIN l_artist_url ON artist.id = l_artist_url.entity0
  JOIN url ON url.id = l_artist_url.entity1
WHERE artist.name = '...'
ORDER BY url.url ASC

アーティストに関連するイベントを取得するには、次のようにします。

SELECT event.name, 
       event_type.name
FROM artist
  JOIN l_artist_event ON artist.id = l_artist_event.entity0 
  JOIN event ON event.id = l_artist_event.entity1 
  join event_type ON event_type.id = event.type 
WHERE artist.name = '...'
于 2015-01-10T23:06:00.197 に答える