有表a 与 b.
表a 结构为:仅主键aid.
表b 结构为:主键bid, aid, cid
想要查询条件为表b中  cid = 值d  且  表b中 aid 不等于 a表中 aid
则:返回表a 的满足条件的 aid.

解决方案 »

  1.   

    1.这个表只有一个字段.不知有何用. 2.询条件为表b中  cid = 值d  且  表b中 aid 不等于 a表中 aid
     
      这明明是对b进行筛选,为何又要返回a表中的记录??? a 和b有何关系?
      

  2.   

    不知道这样理解对不对.select * from a where aid not in(
    select aid from b where cid='d' )
      

  3.   

    樓主的思路確實比較怪!
    但你要的效果可這樣實現:
    Select a.aid From a,b Where b.cid=d And a.aid<>b.aid
      

  4.   

    感觉描述有点矛盾
    想要查询条件为表b中  cid = 值d  且  表b中 aid 不等于 a表中 aid
    则:返回表a 的满足条件的 aid.在条件中从B中筛选出来的aid是不在a表中的,那么要根据那个aid来返回a表中符合条件的aid应该是空
      

  5.   

    LZ是不是想要这样的?在a中找出不aid不在B中的数据:
    select * from a where NOT EXISTS (select aid from b wehre cid=值d)
      

  6.   

    select (case when b.cid=d and b.aid!=a.aid then a.aid end) from a,b
      

  7.   

    我说实例吧。我有两个表。A是课件表,里面包含所有的课件(aid)。B是下载表,纪录谁(cid)下载了什么课件(对应A表中的aid)。
    要求是,查询A表产生课件列表,如果某个人已经下载了某个课件,那么在列表中就不再显示已经下载过的那条纪录。
      

  8.   

    是不是写错了,如你所说select a.aid from a,b where b.cid='d' and b.aid<>a.aid
      

  9.   

    cpp2017(慕白兄) 正解。多谢各位帮忙。