这样试试
select * from (
SELECT film_name, COUNT(FILM_NAME) AS COUNT FROM VOD_HIS  where ORDER_TIME BETWEEN '0:0:0' and '23:59:59' GROUP BY film_name 
)a,VOD_HIS b
where a.FILM_NAME=b.FILM_NAME and b.FILM_TYPE_ID=1
ORDER BY COUNT DESC

解决方案 »

  1.   

    SELECT film_name, COUNT(FILM_NAME) AS COUNT FROM VOD_HIS  
    where ORDER_TIME BETWEEN '0:0:0' and '23:59:59' 
    and exists (
    select 1 from FILM_INFO  
    where FILM_NAME=VOD_HIS.FILM_NAME
    and FILM_TYPE_ID=1
    )
    GROUP BY film_name
      

  2.   

    LoveSQL(GG),好象不行,显示是列名FILM_TYPE_ID无效
      

  3.   

    你的在一楼的SQL语句的错误应该是
    "列名 'FILM_NAME' 不明确。"
    因为你的两个表中有同名的字段'FILM_NAME' ,你需要指定是那个表的'FILM_NAME' 字段试试这个语句:
    SELECT VOD_HIS.film_name, COUNT(VOD_HIS.film_name) AS COUNT FROM VOD_HIS,FILM_INFO  WHERE VOD_HIS.FILM_NAME=FILM_INFO.FILM_NAME AND FILM_TYPE_ID=1 GROUP BY VOD_HIS.film_namee ORDER BY COUNT DESC
      

  4.   

    语句最好一行的VOD_HIS.film_namee多了一个e
    应该是VOD_HIS.film_name
      

  5.   

    MagicYangCN(魔术师·杨) ,试了下,可以实现,十分感谢!