A表
id kw come
1 尼康 2
2 索尼 1
3 松下 1
4 富士 3
B表
id aid comment web
1 1 不错 1
2 2 很好 2
3 1 怎么样 3
现在的需求是先查询a表come=3的数据(全部字段),然后得到相应的id(这里为4),然后再表B中(字段comment,web)查询web=4且aid=4(aid为A表中得到id的值)的组成一行,如果B表中没有这条数据,相应的字段也列出来,但是为空
如查询come为3的结果(为无数据)
id,kw,come,comment,web
4 富士 3
如果查询A表come为2的,且web为1的(有结果)
id,kw,come,comment,web
1 尼康 2 不错 1
注意请用一条sql语句实现,A表数据在500w以上B表数据在1000w以上,B表中存在多条aid相同的但是web为唯一的数据(aid相同web唯一,aid不同的话,web肯定会重复的),我本来想用连接查询,但是无法实现B表没有数据时,相应的字段为空,我的sql:
SELECT a.*,b.comment,b.webFROM `A` a LEFT JOIN `B` b on a.id=b.id WHERE a.come=3;