问题在于: 我们有3个表(MS SQL 2008 R2):
表1 FILMS(带电影的表格)
表2歌曲(带歌曲的表格)
表3标题
由于“电影”和“歌曲”可以包含多个标题(我在不同语言上有很多标题),我想将所有标题保存在单独的表“标题”中。表格中的主键电影和歌曲基于[int]身份规范,增量为+1。
例如:我们可以制作ID = 3的电影和歌曲。
如何将表格“标题”加入“电影”和“歌曲”?
P.S。我尝试通过向FILMS和SONGS
添加一个带有公式的新列[idKey]来创建唯一键对于电影,它是(CONVERT([nvarchar](10),[ID],(0))+'f')
对于歌曲(CONVERT([nvarchar](10),[ID],(0))+'s')
其中[ID]是他们的身份规范 但我无法将此列标记为主键
答案 0 :(得分:0)
即使您在这三个表之间没有外键约束,也可以通过连接三个表来获取数据。
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
要点是至少两个表应该有一个通用列