在一个Access数据库中,我建了两个表:complaint、opinion,complaint表中以投诉编号为关键字段,另外含有一个ISOK字段;opinion表中另建了一个ID字段为关键字段,并且一个投诉编号对应了多条记录,记录中含有“用户”字段。现在我的想法是,从complaint表中筛选出ISOK=1,并且相同编号的opinion表中记录“用户”不等于“管理员”的所有记录,也就是说,要从complaint表中符合条件ISOK=1的记录中去掉在opinion表中投诉编号相对应的“用户”不等于“管理员”的记录。
  请高手不吝赐教,谢谢!

解决方案 »

  1.   

    select distinct a.* from complaint a,opinion b where a.投诉编号=b.投诉编号 and a.isok=1 and b.用户<>'管理员'
      

  2.   

    SELECT a.投诉编号,a.ISOK FROM  complaint a , opinion b WHERE a.投诉编号 = b.投诉编号 AND a.ISOK  = 1 AND b.用户<>'管理员'
      

  3.   

    select distinct complaint .* from complaint,opinion where complaint.投诉编号=opinion .投诉编号 and complaint.isok=1 and opinion .用户<>'管理员'
      

  4.   

    谢谢各位!可是我在Access中运行上述语句,软件却把“opinion.投诉编号”当成一个参数要求输入,怎么办?
      

  5.   

    select distinct a.* from complaint a,opinion b where a.投诉编号=b.投诉编号 and a.isok=1 and b.用户<>'管理员'
      

  6.   

    可能我没说明白,我的想法是,从complaint表中符合条件ISOK=1的记录中去掉在opinion表中投诉编号相对应的“用户”不等于“管理员”的记录。但是opinion表中很可能没有对应编号的记录!
      

  7.   

    而且opinion表中也可能有多条相同编号的记录!
      

  8.   

    或者换个问法,怎样从一个select结果中去除用另一个select语句选出来的记录?