楼主: arron刘

【每周一议】干货讨论 如何合并两个查询的结果集的数据

[复制链接]
论坛徽章:
1
2013年新春福章
日期:2013-02-25 14:51:24
41#
发表于 2012-12-16 07:09 | 只看该作者
楼主继续。写的很好。

使用道具 举报

回复
论坛徽章:
55
体育版块博采纪念徽章
日期:2008-10-06 11:55:58双黄蛋
日期:2011-06-08 14:43:03茶鸡蛋
日期:2011-06-08 14:50:52迷宫蛋
日期:2013-07-03 14:58:31
42#
发表于 2013-3-1 10:45 | 只看该作者
mysql> select * from t_new;
+------+-----------+
| id   | date      |
+------+-----------+
|    1 | 2012-11-1 |
|    3 | 2012-11-2 |
|    8 | 2012-11-5 |
+------+-----------+
3 rows in set (0.00 sec)

mysql> select * from t_old;
+------+-----------+
| id   | date      |
+------+-----------+
|    5 | 2012-11-1 |
|    3 | 2012-11-2 |
+------+-----------+
2 rows in set (0.00 sec)

mysql> select c.date, ifnull(a.id, 0) as new, ifnull(b.id, 0) as old
    ->   from (select date from t_new
    ->         union
    ->         select date from t_old) c
    ->   left join t_new a on c.date = a.date
    ->   left join t_old b on c.date = b.date;
+-----------+-----+-----+
| date      | new | old |
+-----------+-----+-----+
| 2012-11-1 |   1 |   5 |
| 2012-11-2 |   3 |   3 |
| 2012-11-5 |   8 |   0 |
+-----------+-----+-----+
3 rows in set (0.00 sec)

哈哈,好像回复晚了吧。

使用道具 举报

回复
论坛徽章:
55
体育版块博采纪念徽章
日期:2008-10-06 11:55:58双黄蛋
日期:2011-06-08 14:43:03茶鸡蛋
日期:2011-06-08 14:50:52迷宫蛋
日期:2013-07-03 14:58:31
43#
发表于 2013-3-1 11:24 | 只看该作者
mysql> select c.date,
    ->        max(case c.tag when 'new' then c.id else 0 end) as new,
    ->        max(case c.tag when 'old' then c.id else 0 end) as old
    ->   from (select a.*, 'new' as tag from t_new a
    ->         union all
    ->         select b.*, 'old' as tag from t_old b) c group by c.date;
+-----------+------+------+
| date      | new  | old  |
+-----------+------+------+
| 2012-11-1 |    1 |    5 |
| 2012-11-2 |    3 |    3 |
| 2012-11-5 |    8 |    0 |
+-----------+------+------+
3 rows in set (0.00 sec)

这样也行....

使用道具 举报

回复
论坛徽章:
1
2013年新春福章
日期:2013-02-25 14:51:24
44#
发表于 2013-3-1 12:16 | 只看该作者
路过学习!

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表