现在有三个表,
演员:演员id, 国籍
出演:电影id, 演员id
电影信息:电影id, 工作室
现请列出来制作出的电影中包含大于一个英国国籍演员的工作室
初学,写了这个,貌似不对
- SQL code
SELECT DISTINCT studioFROM movieinfoWHERE mvid IN (SELECT mvid FROM cast GROUP BY actorid HAVING COUNT(SELECT actorid FROM actor WHERE birthplace IN 'UK') > 1 );
count里面不能写句子吗
------解决方案--------------------
- SQL code
select distinct 工作室(select a.电影id,a.工作室,b.演员id,c.国籍 from 电影信息 ainner join 出演 b on b.电影id=a.电影idinner join 演员 c on c.电影id=a.电影id)dwhere 国籍='UK'
------解决方案--------------------
select 工作室 from 电影信息 a
inner join 出演 b on b.电影id=a.电影id
inner join 演员 c on c.电影id=a.电影id
where 国籍='UK'
group by 工作室 having count(演员)>1
------解决方案--------------------
SELECT m.studio FROM movieinfo 电影信息表 m , 出演表 n , 演员表 t
where m.电影id = n.电影id and n.演员id = t.演员id and t.国籍 IN 'UK'
group by m.studio having count(1) > 1
------解决方案--------------------