日期:2014-05-20  浏览次数:20508 次

求一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