【问题标题】:Sql error Error: ambiguous column nameSql错误错误:列名不明确
【发布时间】:2013-12-02 08:42:00
【问题描述】:

我有一个问题:

select count(distinct RID) 
from MASTER_MOVIEVOD as M 
inner join RID_GENRE_MOVIEVOD as RG 
inner join GENRE_MOVIEVOD as G on M.RID=RG.RID and RG.GENRE_SR_NO=G.GENRE_SR_NO 
where M.UPDATE_PRESENT=1  
  and M.CLIP_TYPE=220 
  and M.PCAT=2 
  and G.GENRE_NAME!='Drama';

它给了我错误

错误:列名不明确:RID

【问题讨论】:

    标签: sql c sqlite


    【解决方案1】:

    这是因为SQL不知道选择M.RIDRG.RID哪个RID,歧义来自这里。

    你必须选择其中之一而不是RID

    select count(RG.RID) 
    from MASTER_MOVIEVOD as M
    ..
    

    【讨论】:

      【解决方案2】:

      你必须指定RID,例如写COUNT(M.RID)

      【讨论】:

        【解决方案3】:

        将表标识符添加到 count,因为您的 2 个表具有列 RID,您必须指定要在查询中使用哪一个

        select count(distinct M.RID) 
        from MASTER_MOVIEVOD as M 
        inner join RID_GENRE_MOVIEVOD as RG 
        inner join GENRE_MOVIEVOD as G on M.RID=RG.RID and RG.GENRE_SR_NO=G.GENRE_SR_NO 
        where M.UPDATE_PRESENT=1 and M.CLIP_TYPE=220 and M.PCAT=2 and G.GENRE_NAME!='Drama';
        

        【讨论】:

          猜你喜欢
          • 2021-12-13
          • 1970-01-01
          • 2018-10-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多