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

同一个交叉表的动态SQL实现

DECLARE
 TYPE list IS TABLE OF t_stu.project%TYPE INDEX BY BINARY_INTEGER;
 project_list list;
 v_pro_num NUMBER;
 sql_str VARCHAR(255);
 
t_stu
SID SUBJECT SCORE
1        数学         99
1        英语         68
1        法律         79
2        数学         92
2        英语         72
2        法律         96
实现======
SID
数学
英语
法律
1
99
68
79
2
92
72
96
 
DECLARE
 TYPE list IS TABLE OF t_stu.subject%TYPE INDEX BY BINARY_INTEGER;
 subject_list list;
 v_pro_num NUMBER;
 sql_str VARCHAR(255);
BEGIN
 SELECT COUNT(DISTINCT subject) INTO v_pro_num from t_stu;
 sql_str := 'SELECT id ';
 
 FOR v_idx in 1..v_pro_num LOOP
 
  IF v_idx = 1 THEN
  
   SELECT DISTINCT subject INTO subject_list(v_idx) from t_stu WHERE rownum = 1;
   
  ELSE
  
   SELECT subjectINTO subject_list(v_idx)
   from (SELECT DISTINCT subject, rownum row_num from t_stu WHERE rownum < v_idx + 1)
   WHERE row_num = v_idx;
   
  END IF;
  
  sql_str := sql_str || ', SUM(DECODE(subject,''' || subject_list(v_idx) || ''',score,0)) AS ' || subject_list(v_idx);
  
 END LOOP;
 
 sql_str := sql_str || ' from t_stu GROUP BY id';
 DBMS_OUTPUT.PUT_LINE('sql--->' || sql_str);
  
 EXEC IMMEDIATE sql_str;
&


相关文档:

常用的ORACLE PL/SQL管理命令一

原文:刘武| 常用的ORACLE PL/SQL管理命令一
熟悉ORACLE管理的一定对这些命令不会陌生,不过对于我这个刚接触ORACLE管理的来说,还是有必要做下记录,以便随时查看。
一 登录SQLPLUS
sqlplus 用户名/密码@数据库实例 as 登录角色;
如:用户sys(密码为123)以sysdba的角色登录数据库ORACL,我们可以输入:sqlplus sy ......

SQL中没用集合的minus,用union实现

列出TableA中有的而TableB中没有, 以及B中有而A中没有的记录:
其中两个表的结构相同,选择的Key可以多个
Select Key from
( select * from TableA
Union select * from TableB
)
group by Key
having count(Key)=1

列出TableA中有的而TableB中没有的记录:
Select Key from
( (select * from TableA
Un ......

mysql导入sql文件:Mysql导入导出.sql文件

mysql导入sql文件:Mysql导入导出.sql文件
步骤如下:
一.MYSQL的命令行模式的设置:
桌面->我的电脑->属性->环境变量->新建->
PATH=“;path\mysql\bin;”其中path为MYSQL的安装路径。
二.简单的介绍一下命令行进入MYSQL的方法:
1.C:\>mysql -h hostname -u username -p
按ENTER ......

开发辅助工具:SQL文格式化工具SQLinFormpro_Desktop

    在有关数据库的项目开发中,编码,bug修改等等,都需要查看操作相关的SQL文,如果SQL文比较复杂的话,我们自己排版非常麻烦,同时也很花费时间。可能有的公司自己开发了格式化工具或者购买了格式化工具软件。有了格式工具我们就节省了排版时间。
    介绍一下SQLinFormpro_Desktop(htt ......

SQL语句经典实例

无论您是一位 SQL 的新手,或是一位只是需要对 SQL 复习一下的资料仓储业界老将,您就来对地方了!
- SQL 指令: SQL 如何被用来储存、读取、以及处理数据库之中的资料。
- 表格处理: SQL 如何被用来处理数据库中的表格。
- SQL语法: 这一页列出所有在这个教材中被提到的 SQL 语法
SQL SELECT
Store_Information 表格 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号