2

私はSQLの非常に基本的な知識しか持っていないので、これが愚かなQである場合、plsは許します。私はインターネットを探しましたが、答えを得ることができませんでした。

私は3つのテーブルを持っています:

タイトル

id int <-PK

Artist_id int

album_id int

desc varchar

アーティスト

arist_id int <-FK

desc varchar

アルバム

album_id int <-FK

desc varchar


タイトルデータ

1、1、1、「すべてをくれ」

1、2、2、「もっと」

1、3、3、「あなたを美しくするもの」

アーティストデータ

1、「ピットブル」

2、「アッシャー」

3、「ワン・ダイレクション」

アルバムデータ

1、「プラネットピット」

2以上"

3、「一晩中」

1つのテーブルを検索したい場合は、次のようにします。

'%direction%'のようなdescがあるアーティストから*を選択します。

私の目的は、3つのテーブルを検索することです。検索SQLクエリは、artist_idフィールドとalbum_idフィールド(リンクキー)を使用して、3つのテーブルのいずれかの「desc」フィールドで検索条件が満たされた「title」テーブルの行を返す必要があります。

今日、私の脳は完全に混乱しています。Qが明確でない場合、plsは明確さを求めます。

4

1 に答える 1

3

inner join次のようにテーブル間を作成する必要があります。

select t.* from title t
inner join artist ar on ar.artist_id = t.artist_id
inner join album al on al.album_id = t.album_id
where (t.desc like '%direction%' or ar.desc like '%direction%' or al.desc like '%direction%')
于 2012-06-08T08:24:44.487 に答える