求一sql,必结帖。
有表a 与 b.
表a 结构为:仅主键aid.
表b 结构为:主键bid, aid, cid
想要查询条件为表b中 cid = 值d 且 表b中 aid 不等于 a表中 aid
则:返回表a 的满足条件的 aid.
------解决方案--------------------1.这个表只有一个字段.不知有何用.
2.询条件为表b中 cid = 值d 且 表b中 aid 不等于 a表中 aid
这明明是对b进行筛选,为何又要返回a表中的记录??? a 和b有何关系?
------解决方案--------------------樓主的思路確實比較怪!
但你要的效果可這樣實現:
Select a.aid From a,b Where b.cid=d And a.aid <> b.aid
------解决方案--------------------感觉描述有点矛盾
想要查询条件为表b中 cid = 值d 且 表b中 aid 不等于 a表中 aid
则:返回表a 的满足条件的 aid.
在条件中从B中筛选出来的aid是不在a表中的,那么要根据那个aid来返回a表中符合条件的aid应该是空
------解决方案--------------------select (case when b.cid=d and b.aid!=a.aid then a.aid end) from a,b
------解决方案--------------------是不是写错了,如你所说
select a.aid from a,b where b.cid= 'd ' and b.aid <> a.aid