急需SQL语句、在线等、100分全送

奄灬苟且偷生 2015-01-14 06:56:29
救命啊
想拼一个Sql语句两张表的
第一张表

第二张表

只想要一条Sql语句
想拼成这样的
但是得根据日期进行分组、无论是前一张表还是后一张表的只要有的日期就要出现、当一张表有这个日期
另外一张表没有时、用0来代替

最想要的效果就是下面这样

哪位高人可怜可怜我啊
跪谢了
...全文
245 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
奄灬苟且偷生 2015-01-16
  • 打赏
  • 举报
回复
引用 4 楼 wildwave 的回复:
倒数第二张图,左右貌似不对 第一张表是交易表,第二张是退款,应该是要这个效果吧 select nvl(a.shoptime,b.shoptime),nvl(a.cnt,0), nvl(a.money,0),nvl(b.cnt,0),nvl(b.money,0) from (select tr.shoptime,count(tr.id) cnt,sum(tr.shopmoney) money from tb12_shop_trade tr group by tr.shoptime) a full join (select re.shoptime,count(re.id) cnt,sum(re.shopmoney) money from tb12_shop_reback re group by re.shoptime) b on a.shoptime=b.shoptime
我去居然真的好使?吊炸天 啊、准备结贴
小灰狼W 2015-01-16
  • 打赏
  • 举报
回复
倒数第二张图,左右貌似不对 第一张表是交易表,第二张是退款,应该是要这个效果吧 select nvl(a.shoptime,b.shoptime),nvl(a.cnt,0), nvl(a.money,0),nvl(b.cnt,0),nvl(b.money,0) from (select tr.shoptime,count(tr.id) cnt,sum(tr.shopmoney) money from tb12_shop_trade tr group by tr.shoptime) a full join (select re.shoptime,count(re.id) cnt,sum(re.shopmoney) money from tb12_shop_reback re group by re.shoptime) b on a.shoptime=b.shoptime
奄灬苟且偷生 2015-01-15
  • 打赏
  • 举报
回复
引用 1 楼 wuxiaobo_2014 的回复:
你确定这个是你想要的截图吗?
当然确定、就是这个样子的、 3楼怎么用NVL啊、full join那不是我想要的效果
bw555 2015-01-14
  • 打赏
  • 举报
回复
使用full join 实现
select *
from (查询1的语句) A FULL JOIN (查询2的语句) B
ON A.SHOP_TIME=B.SHOP_TIME
想把空替换为0,使用nvl函数即可
wuxiaobo_2014 2015-01-14
  • 打赏
  • 举报
回复
你确定这个是你想要的截图吗?

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧