日期:2014-05-18  浏览次数:20450 次

在三个table中,嵌套count,怎么写
现在有三个表,

演员:演员id, 国籍
出演:电影id, 演员id
电影信息:电影id, 工作室

现请列出来制作出的电影中包含大于一个英国国籍演员的工作室

初学,写了这个,貌似不对
SQL code
SELECT DISTINCT studio
FROM movieinfo
WHERE 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 电影信息 a
inner join 出演 b on b.电影id=a.电影id
inner join 演员 c on c.电影id=a.电影id)d
where 国籍='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


------解决方案--------------------
探讨
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