Sql错误错误:列名不明确

时间:2013-12-02 08:42:01

标签: sql c sqlite

我有一个问题:

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

3 个答案:

答案 0 :(得分:2)

这是因为SQL不知道选择RIDM.RID的{​​{1}},歧义来自此处。

您必须选择其中一个而不是RG.RID

RID

答案 1 :(得分:1)

将表格标识符添加到count,因为您的两个表格中包含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';

答案 2 :(得分:1)

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