【发布时间】:2015-05-14 02:36:57
【问题描述】:
我目前有几张如下所示的表格:
create table Actors
(ActorID varchar (20) primary key not null,
FirstName varchar (35) null,
LastName varchar(35) null,
"Address" varchar (30) null,
Country varchar (30) null,
"State/Province" varchar (30) null,
PhoneNumber varchar (15) null
);
去
insert into Actors
values ('A-63','Tom','Hanks','4332 Whalibee Way','US','Washington','555-619-9905') ,
('A-42','Sandra','Bullock','63 Sharridon Ave.','US','Texas','329-556-3030');
go
create table Director
( DirectorID varchar (20) primary key not null,
FirstName varchar (40) null,
LastName varchar(40) null,
MovieID varchar(20) foreign key references Movies (MovieID) null,
"Address" varchar ( 30) null,
Country varchar (35) null,
"State/Province" varchar (35) null,
PhoneNumber varchar (15) null
);
go
insert into Director values
('D700','David','Speilberg','MO-57','9000 Cheque St','US','California','432-553-2267'),
('D-900','William','Bruckheimner','MO-31','68585 lava lane','US','California','519-242-2543');
go
create table Producer
(ProducerID varchar (20) primary key not null,
FirstName varchar (40) null,
LastName varchar (40) null,
MovieID varchar (20) foreign key references Movies(MovieID) null,
"Address" varchar (30) null,
Country varchar (35) null,
"State/Province" varchar (35) null,
PhoneNumber varchar (15) null
);
go
insert into producer values
('P-123','RJ','Abrams','MO-57','45 Canterbelly Cres.','US','California','556-876-4134'),
('P-82','Malcolm','Brooks','MO-62','678 Undertree rd','US','Arizona','897-332-6633');
go
Create table Movies
( MovieID varchar(20) primary key not null,
MovieName varchar (40) null ,
"Type" varchar (20) null,
Rating varchar (20) null,
Director varchar (35) null,
Producer varchar (35) null,
MainActor1 varchar (35) null,
MainActor2 varchar (35) null,
SupportingActor1 varchar (35) null,
SupportingActor2 varchar (35) null,
ReleaseDate Date null,
Description varchar(500) null
);
go
Insert into Movies (MovieID,MovieName,"Type",Rating,Director,Producer,MainActor1,MainActor2,SupportingActor1,SupportingActor2,ReleaseDate,"Description")
values ( 'MO-150','The Legend Of Zelda','Fantasy','R','','','','','','','July 23 2018',''),
( 'MO-216','The SQL Games:Replication','Science Fiction','PG','','','','','None','','March 20 2020','');
go
当前格式:小罗伯特唐尼。 名字|姓 本·阿弗莱克 克里斯蒂安·贝尔 威尔史密斯 查理兹塞隆 安吉丽娜·朱莉 杰西卡·阿尔芭 卡梅隆·迪亚兹 詹妮弗安妮斯顿 布莱德利·库珀 桑德拉·布洛克 莱昂纳多·迪卡普里奥 马特达蒙 克里斯赫姆斯沃思 汤姆汉克斯 米拉库尼斯 斯嘉丽约翰逊 艾玛·斯通 朱莉娅·罗伯茨
现在我有一个演员表、导演表和制片人表以及一个电影表,它们都有自己的 ID 列和一个带有外键的 MovieInfo 表来链接它们。
我想知道是否有一种方法可以制作一个视图,将名字和姓氏放在演员、制片人、导演和电影列的一列中,然后将它们加入。
所以表格应该是这样的:
演员(col1) 制片人(col2) 导演(col3) 电影(col4) (桑德拉·布洛克)(RJ 艾布拉姆斯)(大卫·斯皮尔伯格)(上课迟到)
非常感谢任何帮助。我知道如果有可能做这样的视图,它可能会非常复杂。
【问题讨论】:
-
当电影有多个制片人或导演时会发生什么。示例数据和预期输出会有所帮助
标签: sql sql-server tsql join views