1. 左联接数据不统一问题

    在使用左联接时,遇到问题: 1、使用tab1,左联接tab2; 2、tab1有4条数据,tab2中对应tab1的4条数据 有>4条数据与之对应; 3、简单使用左联接之后,会出现,数据总数是后面的tab2与之对应的条数。而不是tab1的总数。解决方案 select * from tab1 left join ( select * from ( select a.*,row_number() over(partition by b3 order by b1) r from tab2 a ) where r = 1 ) tab12 on a1=b3 其中a1,b3是两表的连接条件中的字段 以上感谢csdn的 Robin_Ares   后附上处理统计的相关sql,针对oracle,备忘 为了实现,如下报表功能: 使用sql 如下: SELECT QYJG,JGMC,SUM(MONEY4) JYZE,SUM(COUNT4) CXZS,SUM(COUNT1) DJFZS,SUM(MONEY1) DJFJE,SUM(COUNT2) ZZZS,SUM(MONEY2) ZZJE,SUM(COUNT3) DKHKZS,SUM(MONEY3) DKHKJE FROM ( SELECT QYJG,JGMC,DECODE(JYDM,'7502', 1, 0 ) as COUNT1, DECODE(DECODE(JYDM,'7502', JYJE, 0.00 ),0,'0.00', trim(to_char(DECODE(JYDM,'7502', JYJE, 0.00 ),'99999999999999.99'))) as MONEY1, DECODE(JYDM,'1011', 1,'1012',1, 0 ) as COUNT2, DECODE(DECODE(JYDM,'1011', JYJE,'1012',JYJE, 0.00 ),0,'0.00', trim(to_char(DECODE(JYDM,'1011', JYJE,'1012',JYJE, 0.00 ),'99999999999999.99'))) as MONEY2, DECODE(JYDM,'1100', 1, 0 ) as COUNT3, DECODE(DECODE(JYDM,'1100', JYJE, 0.00 ),0,'0.00', trim(to_char(DECODE(JYDM,'1100', JYJE, 0.00 ),'99999999999999.99'))) as MONEY3, DECODE(JYDM,'1011', 0,'1012',0,'7502',0,'1100',0, 1 ) as COUNT4, DECODE(DECODE(JYDM,'1011', JYJE,'1012',JYJE,'7502',JYJE,'1100',JYJE, 0.00 ),0,'0.00', trim(to_char(DECODE(JYDM,'1011', JYJE,'1012',JYJE,'7502',JYJE,'1100',JYJE, 0.00 ),'99999999999999.99'))) as MONEY4 FROM ( SELECT BT.ZHDH ZHDH ,BT.JYJE JYJE,BT.JYDM ,( select displayvalue from SYSENUMITEM t where t.enumid = ( select enumid from SYSENUM ss where ss.fieldname='BRANCHNO' and ss.tablename = 'PUBLIC' ) and CS.QYJG = T.FIELDVALUE AND T.FIELDVALUE LIKE '%' ) JGMC, QYJG FROM (SELECT * FROM B_TRANS_LOG WHERE JYRQ >= $P{t_bgnDate} AND JYRQ<= $P{t_endDate} AND JYJE >0 AND ZJJYZT= $P{t_transResult} ) BT left join ( select * from ( select a.*, row_number() over(partition by a.ZH order by a.ID ) r from DEMO a ) where r = 1 ) CS ON BT.ZHDH = CS.ZH ) ) GROUP BY QYJG

    2014/04/16 问题一箩筐

  2. linux下rsync服务的搭建

    linux确认rsync的安装及服务开放 1、查看是否安装rsync 命令# rpm –qa | grep rsyn 出现图示信息,表明已安装了rsync.

    2014/03/28 Linux

  3. html5使用js确定用户坐标位置

    最近在微信平台开发时,涉及到的问题。如何获取用户当前坐标位置。 微信用户坐标定位的实现方案 1、使用微信的共享位置,获取用户坐标。缺点:可能会需要用户手动点击获取位置,体验不好。优点:坐标比较精准 且用户可以手动调整位置; 2、使用html5的获取地理位置方案。缺点:坐标不太精准,且部分手机的微信浏览器不支持html5。优点:不需用户太多参与。 3、使用百度地图的ip定位。缺点:坐标差距太大,建议直接舍弃。   我这里采用了第二种方案,但是在获取过程种发现有时候判断不准确。 原来代码 var isSupportGeolLoc = navigator.geolocation ? true : false; if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(showPosition); }else{ alert("你的手机不支持定位,现将转到自助设备列表页面!"); return; } } 在我的理解中,手机要么支持该服务,要么不支持。但是在实际的测试过程中发现,部分手机并不能正确提示,也不能有效获取对应的坐标。于是在网上搜索原因。 原因如下 部分国行Android手机“阉割”了谷歌GMS服务包,导致HTML5的geolocation无法使用wifi和基站定位服务导致。 这个时候就会发现,假如你的手机支持浏览器定位但是你没有打开相关服务或者该服务对应的组件有问题,上面的代码均不能正确的显示当前坐标。重新修改代码为 ``` $(window).load(function() { //是否支持定位的参数 var isSupportGeolLoc = navigator.geolocation ? true : false; if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(showPosition,handleLocationError, {maximumAge:6000,timeout:5000, enableHighAccuracy:true} ); //navigator.geolocation.getCurrentPosition(showPosition); }else{ alert(“你的手机不支持定位,现将转到自助设备列表页面!”); return; } });

    2013/12/12 问题一箩筐

  4. ajax跨域报错

    在项目中使用ajax访问百度地图的api时,报 post request is No 'Access-Control-Allow-Origin' header is present on the requested resource.' 为什么会出这样的错误呢?这是因为所有支持Javascript的浏览器都会使用同源策略这个安全策略。看看百度的解释:

    2013/12/11 问题一箩筐

  5. js对浮点数计算的bug

    在js中使用浮点数运算,有时候不能得到合适的结果。有时候会发现出现**0000005的样子。 解决方案,重写js对浮点型的运算。代码来源于网络 //浮点数加法运算 function FloatAdd(arg1,arg2){ var r1, r2, m, c; try { r1 = arg1.toString().split(".")[1].length } catch (e) { r1 = 0 } try { r2 = arg2.toString().split(".")[1].length } catch (e) { r2 = 0 } c = Math.abs(r1 - r2); m = Math.pow(10, Math.max(r1, r2)) if (c > 0) { var cm = Math.pow(10, c); if (r1 > r2) { arg1 = Number(arg1.toString().replace(".", "")); arg2 = Number(arg2.toString().replace(".", "")) * cm; } else { arg1 = Number(arg1.toString().replace(".", "")) * cm; arg2 = Number(arg2.toString().replace(".", "")); } } else { arg1 = Number(arg1.toString().replace(".", "")); arg2 = Number(arg2.toString().replace(".", "")); } return (arg1 + arg2) / m; } //浮点数减法运算 function FloatSub(arg1,arg2){ var r1,r2,m,n; try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0} try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0} m=Math.pow(10,Math.max(r1,r2)); //动态控制精度长度 n=(r1>=r2)?r1:r2; return ((arg1*m-arg2*m)/m).toFixed(n); } //浮点数乘法运算 function FloatMul(arg1,arg2) { var m=0,s1=arg1.toString(),s2=arg2.toString(); try{m+=s1.split(".")[1].length}catch(e){} try{m+=s2.split(".")[1].length}catch(e){} return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m); } //浮点数除法运算 function FloatDiv(arg1,arg2){ var t1=0,t2=0,r1,r2; try{t1=arg1.toString().split(".")[1].length}catch(e){} try{t2=arg2.toString().split(".")[1].length}catch(e){} with(Math){ r1=Number(arg1.toString().replace(".","")); r2=Number(arg2.toString().replace(".","")); return (r1/r2)*pow(10,t2-t1); } }

    2013/11/26 问题一箩筐

  6. 页面元素自适应

    在html5下使得页面自适应,以满足不同浏览器下的大小适应的问题。 1、对文本的处理增加的内容 <meta http-equiv='Content-Type' content='text/html; charset=UTF-8' /> <meta content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;' name='viewport' /> <meta http-equiv='pragma' content='no-cache' /> <meta http-equiv='cache-control' content='no-cache' /> <meta http-equiv='expires' content='0' /> 主要部分已使用红色标注 2、对图片的处理 在页面中增加样式控制 <style type='text/css'> img { width: 100%; } </style> 3、不使用绝对宽度 由于网页会根据屏幕宽度调整布局,所以不能使用绝对宽度的布局,也不能使用具有绝对宽度的元素。这一条非常重要。 具体说,CSS代码不能指定像素宽度: width:xxx px; 只能指定百分比宽度: width: xx%; 或者 width:auto;   我所使用的将页面所有图片自适应的方法。要求:小于屏幕宽度的图片正常大小,大于屏幕宽度的图片按照屏幕宽度展示。目前已测试过ie9,chrom,android浏览器和ipad浏览器。 <SCRIPT LANGUAGE="JavaScript"> <!-- function initPage(){ var objs = document.getElementsByTagName('img'); var clientWid = document.documentElement.clientWidth; for(var i=0;i<objs.length;i++) { if(objs[i].width > clientWid){ objs[i].style.width = '100%'; } } } //--> </SCRIPT>  使用该方法的弊端,需要图片都加载完之后,才能处理。当页面比较大时,速度会比较慢。

    2013/11/25 问题一箩筐

  7. windows文件同步到linux

    同步windows服务器软件至linux服务器实现 1、  一般linux上默认安装有rsync软件 一.查看及安装 查看是否安装rsync 命令 # rpm –qa | grep rsync 假如出现对应的rsync版本,则说明对应的linux上已有rsync。 否则,需要手动下载安装。具体的方式有 软件安装过于简单,现在Linux各大发行版都提供这个软件包,当然您也可以自己编译安装,在目前的情况下,我看没太大的必要; [root@linuxsir:beinan]$ sudo apt-get  install  rsync  注:在debian、ubuntu 等在线安装方法; [root@linuxsir:beinan]# slackpkg  install  rsync   注:Slackware软件包在线安装; [root@linuxsir:beinan]# yum install rsync    注:Fedora、Redhat等系统安装方法; 其它Linux发行版,请用相应的软件包管理方法来安装;如果是源码包,也就是用下面的办法; [root@linuxsir:/home/beinan]# tar xvf  sync-xxxx.tar.gz 或 sync-xxx.tar.bz2 [root@linuxsir:/home/beinan]# cd  sync-xxx [root@linuxsir:/home/beinan/sync-xxx]# ./configure --prefix=/usr  ;make ;make install   注:在用源码包编译安装之前,您得安装gcc等编译工具才行;

    2013/11/20 Linux

  8. 中国国家气象局天气预报信息接口

    想在自己的android应用中获得当天的天气情况,这该怎么做呢?不用担心。中国国家气象局提供了获取所在城市天气预报信息接口。通过这个接口,我们就可以获取天气信息了。

    2013/10/30 API