CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  其他数据库开发 >  MySQL/Postgresql

如何提取2个mysql数据库内相同表相同相同记录并累加?

楼主rephael(拉菲尔)2005-01-24 20:43:55 在 其他数据库开发 / MySQL/Postgresql 提问

有2个结构完全相同但记录不同的数据库A1、A2,如何同时提取这两个数据库相同数据表相同记录,然后相加后输出?  
   
  数据库A1,表a1  
  +----+------+  
  |   id   |     num   |  
  +----+------+  
  |     1   |     10     |  
  +----+------+  
   
  数据库A2,表a2  
  +----+------+  
  |   id   |     num   |  
  +----+------+  
  |     1   |     35     |  
  +----+------+  
   
  需要把id相同的值提取并相加后输出结果(45),请问哪位大侠能帮忙?  
   
  谢谢! 问题点数:100、回复次数:8Top

1 楼rephael(拉菲尔)回复于 2005-01-24 20:46:18 得分 0

数据库A1,表a1  
  +----+------+  
  |   id   |     num   |  
  +----+------+  
  |     1   |     10     |  
  +----+------+  
   
  数据库A2,表a1  
  +----+------+  
  |   id   |     num   |  
  +----+------+  
  |     1   |     35     |  
  +----+------+  
   
  上面写错了Top

2 楼cloudchen(cloudchen)回复于 2005-01-24 22:07:45 得分 10

select   a.num+b.num   from   A1.a1   a   join   A2.a1   b   on   a.id   =   b.idTop

3 楼rephael(拉菲尔)回复于 2005-01-24 23:23:14 得分 0

选取A1数据库,然后  
  我的具体表达式是  
  SELECT      
  allowed.info_hash,a.seeders+b.seeders,a.leechers+b.leechers,a.completed+b.completed,bname,badded,bsize,bcategory,buser,btop,btj   from   xbt_files   a   join   A2.xbt_files   b   USING(info_hash)   left   join   allowed     USING(info_hash)   LEFT   JOIN   allowed_ex   USING(info_hash)   LEFT   JOIN   xbt_files   USING(info_hash)  
   
  但只能读取A2个数据库有的记录,而A1的有的A2没有的无法显示  
   
  另外,我设置  
  $row[0]   is   info_hash  
  $row[1]   is   seeders  
  $row[2]   is   leechers  
  $row[3]   is   completed  
  $row[4]   is   bname  
  $row[5]   is   badded  
  $row[6]   is   bsize  
  $row[7]   is   bcategory  
  $row[8]   is   buser  
  $row[9]   is   btop  
  $row[10]   is   btj  
   
  但无任何变化,还是从A1里读出,并无累加,怎么办.........Top

4 楼ice_berg16(寻梦的稻草人)回复于 2005-01-25 08:47:11 得分 10

把第一个join   改成left   joinTop

5 楼rephael(拉菲尔)回复于 2005-01-25 11:51:25 得分 0

该成left   join记录是可以显示,但如果而A1的有的A2没有记录,全部显示为空。我是想把A2有的记录加入A1,如果A2没有该记录或空则显示A1记录。现在变成A1、A2都有的记录正常显示,A1有A2无的记录全显示空。  
   
  怎么办?Top

6 楼rephael(拉菲尔)回复于 2005-01-26 22:03:54 得分 0

在加50分,哪位高手能解决这个多库多表关联查询的问题?Top

7 楼ice_berg16(寻梦的稻草人)回复于 2005-01-27 08:27:39 得分 80

SELECT      
  allowed.info_hash,  
  a.seeders+IFNULL(b.seeders,0),  
  a.leechers+IFNULL(b.leechers,0),  
  a.completed+IFNULL(b.completed,0),  
  bname,badded,bsize,bcategory,buser,btop,btj  
  FROM   xbt_files   a    
  LEFT   JOIN   A2.xbt_files   b   USING(info_hash)  
  LEFT   JOIN   allowed     USING(info_hash)    
  LEFT   JOIN   allowed_ex   USING(info_hash)    
  LEFT   JOIN   xbt_files   USING(info_hash)Top

8 楼rephael(拉菲尔)回复于 2005-01-28 03:07:00 得分 0

感谢寻梦的稻草人的帮助和指导,在你的基础上我改进了一下:  
   
  SELECT   allowed.info_hash,   a.seeders   +   IFNULL(   b.seeders,   0   )   ,   a.leechers   +   IFNULL(   b.leechers,   0   )   ,   a.completed   +   IFNULL(   b.completed,   0   )   ,   bname,   badded,   bsize,   bcategory,   buser,   btop,   btj  
  FROM   allowed  
  LEFT   JOIN   xbt_files   a  
  USING   (   info_hash   )    
  LEFT   JOIN   allowed_ex  
  USING   (   info_hash   )    
  LEFT   JOIN   xbt_files  
  USING   (   info_hash   )    
  LEFT   JOIN   xbt.xbt_files   b  
  USING   (   info_hash   )  
   
  现在显示正确了,感谢Top

相关问题

  • 关于PHP提取Mysql数据库日期时间显示格式的问题
  • 就40分了,请问高手们从mysql数据库中提取的数据怎么是问号?谢谢
  • 怎样实现数据库中表中字段的累加?
  • 两数据库表记录合并累加问题求教?
  • 数据库中相同值累加的问题!
  • MySql 数据库管理-30
  • 优化mysql数据库?
  • MySQL数据库的问题
  • mysql数据库疑问
  • php+mysql数据库问题

关键词

  • 数据库
  • xbt
  • leechers
  • seeders
  • ifnull
  • 记录
  • 相同
  • hash
  • bcategory
  • btop

得分解答快速导航

  • 帖主:rephael
  • cloudchen
  • ice_berg16
  • ice_berg16

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo