曲とジャンルをつなぐテーブルに参加しました。このテーブルには、ジャンルが見つかった場所を識別するために使用される「ソース」列があります。ジャンルは、ブログ、アーティスト、タグ、投稿から見つかります。
それで、
songs | song_genre | genres
id | song_id, source, genre_id | id
私が構築したいのは、すでにgenre_idがある場合、次のように機能する曲のSELECTクエリです。
IF exists song_genre with source='artist' AND a song_genre with source='blog'
OR exists song_genre with source='artist' AND a song_genre with source='post'
OR exists song_genre with source='tag'
たくさんの結合を行うことでそれを行うつもりでしたが、私はそれをあまりうまくやっていないと確信しています。
Postgres9.1の使用。