求一条SQL语句的写法

来源:百度知道 编辑:UC知道 时间:2024/06/28 22:56:31
有两张表A,B A表有个ID和B表ID相关联,现在是B表有个字段想把它加到A表中去,比如如果B表中有A表的ID,就把B表某个字段的数据加在A表那一行上,没有就不加,
我现在是这样写的
select stockinfo_view.*,fund_fund.apply_ID_group from stockinfo_view,fund_fund
WHERE stockinfo_view.gather_reason=fund_fund.apply_ID_group
如果像我这样写,只能把两张表同时又的数据显示出来,而stockinfo_view表里面有些信息就显示不出来了,目前是要把stockinfo_view表的所有信息显示出来,同时如果fund_fund有stockinfo_view的记录,就加上fund_fund的信息,没有就不管它
我用的是MYSQL数据库,楼下的SQL好像不行啊

从你的意思来看,A表作为主表,B表作为附加信息,有就加,没有就空

select a.*,b.apply_ID_group from stockinfo_view a,fund_fund b where a.gather_reason=b.apply_ID_group(+)

关键就在最后的(+)上,使用左连接

select stockinfo_view.*,fund_fund.apply_ID_group from stockinfo_view,fund_fund
WHERE stockinfo_view.gather_reason*=fund_fund.apply_ID_group

如上,加一个*就行了,但你说得太乱了,看不太明白,反正如果*加在=左边不对的话,你就把它放到右边。