0

ここに問題があります: 3 つのテーブルがあります (MS SQL 2008 R2):

表1 FILMS(フィルム付きテーブル)

Table 2 Songs (歌のある表)

表 3 タイトル

"Films" と "Songs" には複数のタイトルを含めることができるため (私はさまざまな言語で多くのタイトルを持っています)、すべてのタイトルを別のテーブル "Titles" に保持したいと考えています。テーブル Films と Songs の主キーは、増分 +1 の [int] ID 仕様に基づいています。

たとえば、ID=3 の映画と曲を作成できます。

テーブル「タイトル」を「フィルム」および「曲」と結合するにはどうすればよいですか?

PS FILMS an SONGS に式を含む新しい列 [idKey] を追加して、一意のキーを作成しようとしました

映画の場合はそうでした(CONVERT([nvarchar](10),[ID],(0))+'f')

歌の場合は(CONVERT([nvarchar](10),[ID],(0))+'s')

[ID] は ID 仕様ですが、この列を主キーとしてマークできませんでした

4

1 に答える 1

0

この 3 つのテーブルの間に外部キー制約がなくても、3 つのテーブルを結合することでデータを取得できます。

 SELECT title.*, film.*,songs.* 
 FROM title t JOIN film f
    ON t.title_name = f.title_name
 JOIN songs s
    ON t.title_name = s.title_name

ポイントは、少なくとも2つのテーブルには一般的な列が必要です

于 2012-10-09T12:08:06.270 に答える