以下是我的数据库关系:
显示(showID,title,premiere_year,网络,创建者,类别)
剧集(showID,episodeID,airdate,title)
actor(actID,fname,lname)
main_cast(showID,actID,role)
recurring_cast(showID,episodeID,actID,role)
客户(custID,fname,lname,email,creditcard,membersince,renewaldate,密码,用户名)
cust_queue(custID,showID,datequeued)
观看(custID,showID,episodeID,datewatched)
所有' ID'是主键
我有一些问题我得到了,对于一些人,我不知道如何去做。 如:
查找至少一个节目的主要演员以及至少一个节目的定期演员中的所有演员。显示演员的名字,姓氏,演员在主要演员阵容中的节目标题,演员在演员阵容中的演出标题,以及演员扮演的角色每个节目。
我正在尝试:
{
SELECT Actor.fname, Actor.lname, Shows.Title
FROM Actor, Shows, Main_Cast, Recurring_Cast
WHERE Actor.actID = Main_Cast.actID AND Actor.actID = Recurring_Cast.actID;
}
但我认为没错。任何想法??
答案 0 :(得分:1)
尝试以下方法:
SELECT Actor.fname, Actor.lname, Shows.Title
FROM Actor, Shows AS sh
WHERE Actor.actID
IN
(SELECT actID FROM Main_Cast
WHERE sh.showID==Main_Cast.showID)
UNION
(SELECT actID FROM Recurring_Cast
WHERE sh.showID==Recurring_Cast.showID)
这将向您展示同一节目的主演员和经常演员的演员。你可以稍微编辑一下,得到你想要的东西。