多表关连查询求教
表:A(用户编号,姓名) 注:编号不重复
表:B(用户编号,账号,金额,年度) 注:编号不重复
表:C(账号,电话)
我想要以A表为基准,去关连查询其他信息。可是查出来的有重复,插入另一个表违反约束条件了。写法如下:
select a.用户编号,a.姓名,b.账号,b.金额,c.电话from A,B,C where a.用户编号=b.用户编号 and b.账号=c.账号 and b.年度='2011'
select a.用户编号,a.姓名,b.账户,b.金额,MAX(c.电话) from A,(select * from B where 年度='2011') B,C where a.用户编号=b.用户编号(+) and b.账号=c.账号(+)group by a.用户编号,a.姓名,b.账户,b.金额
[解决办法]
根据这三张表,可以判断AB都不可能产生重复数据,可能C表有问题了,楼主可以随便看一下C表的数据,看有没有一个号多个电话的可能,消除重复,似乎有个关键字吧,distanct,好像是这么写吧,忘了,反正五张表中任何一张表有两条以上的数据且是同一关联外键的,都可能产生重复的查询结果。