易截截图软件、单文件、免安装、纯绿色、仅160KB

一些SQL 和 存储过程

 --行列转换 行转列
DROP TABLE t_change_lc;
CREATE TABLE t_change_lc (card_code VARCHAR2(3), q NUMBER, bal NUMBER);
INSERT INTO t_change_lc
SELECT '001' card_code, ROWNUM q, trunc(dbms_random.VALUE * 100) bal from dual CONNECT BY ROWNUM <= 4
UNION
SELECT '002' card_code, ROWNUM q, trunc(dbms_random.VALUE * 100) bal from dual CONNECT BY ROWNUM <= 4;
SELECT * from t_change_lc;
SELECT a.card_code,
       SUM(decode(a.q, 1, a.bal, 0)) q1,
       SUM(decode(a.q, 2, a.bal, 0)) q2,
       SUM(decode(a.q, 3, a.bal, 0)) q3,
       SUM(decode(a.q, 4, a.bal, 0)) q4
  from t_change_lc a
 GROUP BY a.card_code
 ORDER BY 1;
 
--行列转换 列转行
DROP TABLE t_change_cl;
CREATE TABLE t_change_cl AS
SELECT a.card_code,
       SUM(decode(a.q, 1, a.bal, 0)) q1,
       SUM(decode(a.q, 2, a.bal, 0)) q2,
       SUM(decode(a.q, 3, a.bal, 0)) q3,
       SUM(decode(a.q, 4, a.bal, 0)) q4
  from t_change_lc a
 GROUP BY a.card_code
 ORDER BY 1;
 
SELECT * from t_change_cl;
SELECT t.card_code,
       t.rn q,
       decode(t.rn, 1, t.q1, 2, t.q2, 3, t.q3, 4, t.q4) bal
  from (SELECT a.*, b.rn
          from t_change_cl a,
               (SELECT ROWNUM rn from dual CONNECT BY ROWNUM <= 4) b) t
 ORDER BY 1, 2;
 
--行列转换 行转列 合并
DROP TABLE t_change_lc_comma;
CREATE TABLE t_change_lc_comma AS SELECT card_code,'quarter_'||q AS q from t_change_lc;
SELECT * from t_change_lc_comma;
SELECT t1.card_code, substr(MAX(sys_connect_by_path(t1.q, ';')), 2) q
  from (SELECT a.card_co


相关文档:

SQL Server 2000的JDBC连接问题解决方法

 经过好几天的奋战,JDBC终于成功连接了SQL Server 2000,期间走了不少弯路,在这里分享我的一点经验
一、我的环境
   Windows XP+JDK6u15+Microsoft SQL Server 2000(SP4)+JCreator
   我先在网上下载数据库驱动程序,目录下有三个包msbase.jar mssqlserver.jar msutil.jar
   1 ......

用sql写小计和合计

select case when b.name is null and c.name is null then '合计' when b.name is null and c.name is not null then '小计' else b.name end as mtrname,
sum(a.number),c.name as cname from x_sell a join x_material b on a.mtr=b.fid join p_organi c on c.fid=a.customer
where a.stime>'2009-10-01'
GROUP B ......

解决SQL Server 1069错误:登录失败

SQL Server 服务由于登录失败而无法启动
1.症状
在重新启动 SQL Server、SQL Executive 或 SQL Server Agent 时,可能无法启动该服务,并显示以下错误信息:
Error 1069:The service did not start due to a logon failure.
或者
错误 1069:由于登录失败而无法启动服务
2.原因
SQL Server、SQL Agent 或 SQL Serve ......

Sql server中时间函数用法详解

SQL中的时间函数非常有用,特别是在我们进行初始赋值、复杂查询的时候,就显得特别方便。
1、获得系统当前时间
select getdate() 
2、DateName ( datepart , date )返回表示指定日期的指定日期部分的字符串。
--今天是2009-2-24--星期二
SELECT DATENAME(year, getdate()) AS 'Year&nbs ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号