a表 aid bid bid2 m 1 a b m 2 c d b 表 bid aid name age m a 1 赵 10 m b 1 钱 20 m c 2 孙 30 m d 2 李 40 a表中的一条记录对应b表中的两条记录(a的bid,bid2对应的是b表的bid),现在比如需要返回b中的两条数据。条件 a表的aid=1 b表中对应的bid=a的name=赵,并且b表bid=b的age=20 同时成立 才返回这两条数据否则一条都不返回 的sql应该怎么写?
看不懂你的题意,猜个大概的吧 select * from b join a on b.aid= a.aid where b.aid=1and b.bid=a and b.name='赵' and b.bid=b and b.age=20 也可能是 select * from b join a on b.aid= a.aid where (b.aid=1and b.bid=a and b.name='赵' ) or (b.bid=b and b.age=20)