私のコードがpostgreSQLのサブクエリで動作しない理由を理解できません。PostgreSQLサブクエリの問題:他のアーティストの曲名と一致するアーティストの曲名を指定してください
問題:他のアーティストのソングタイトルとしても存在するLeonard Cohenの曲のタイトルを指定します。
コード:
select track.title
from (select title, name, artistid
from artist inner join
track
USING(artistid)
where name = 'Leonard Cohen'
) AS loli inner join
track on track.title = loli.title
EDIT:私は大きなリストに同じ曲の小さなリストに「マッチング」の歌よ、明らかに、そのヒントを読んだ後、かなり間抜けに感じます。私はそれらをマッチさせることを意味し、同じ名前でそれらを結びつけませんでした。
私の考え:基本的にアーティスト(アーティストIDと名前を含む)とトラック(トラックID、アーティストID、タイトルなどを含む)のサブクエリを組み合わせて与えました。エイリアス 'loli'。これは31曲含まれています。サブクエリはトラックテーブルの内部結合になっているはずです(サブクエリ内のタイトルはトラック内のタイトルと一致する必要があるためです)。一致するトラックを表示する代わりに、33トラックを表示します。
基本的に私には2トラックのみを表示しなければならず、代わりに31トラックと2倍を返しました。レナード・コーエンの
ヒント:トラック自体が一致します。 –