Oracle SQLʵÀý
1¡£select * from a where a.rowid=(select min(b.rowid) from b where a.id=b.id);
create test1(
nflowid number primary key,
ndocid number,
drecvdate date);
insert into test1 values (1, 12301, sysdate) ;
insert into test1 values (2, 12301, sysdate);
select * from test1 order by drecvdate:
result:
nflowid ndocid drecvdate
1 12301 2010-2-1
2 12301 2010-2-2
ÒªÇó: ¸ù¾ÝNDOCIDΪ²éѯÌõ¼þ, DRECVDATEÅÅÐò,ÏÔÊ¾ÖØ¸´Êý¾ÝÖÐ×îСµÄÄÇÌõ¼Ç¼
String sql1 = "select * from test1 where ndocid=12301 order by decvdate";
String sql2 = "select * from (" + sql1 + ") a where a.rowid=" +
"(select min(b.rowid) from (" + sql1 + ") b " +
"where a.ndocid=b.ndocid)";
Òªµã: 1. nflowid ÊÇPK, Èç¹û²»ÊÇPK, ÔòÓпÉÄܻᱨ¸æORA-1445 ´íÎó
2. ´ËÓï¾ä,²»¹ÜNFLOWID=1µÄDRECVDAGTE±ÈNFLOWID=2µÄDRECVDATEÔ绹ÊÇÍí,¶¼·µ»Ø:
1, 12301 2010-2-1. ÔÒòÎÒ¾õµÃ:Õâ¸öROWIDÃ²ËÆ¾ÍÊÇNFLOWIDµÄÖµ
String agentSql = "select u.*, e.ndeputyentityid, e.nentityid " +
"from tbuser u, tbuser_role ur, doc_dept_deputy e " +
"where u.userid = ur.userid " +
"and u.currententityid = e.ndeputyentityid " +
"and ur.roleid=" + roleId;
String aSql = "select * from(" + agentSql + ") a where " +
"a.userpriority=(select min(b.userpriority) from(" + agentSql + ") b " +
"where a.ndeputyentityid = b.ndeputyentityid) " +
"and a.userid=(select min(b.userid) from(" + agentSql + ") b " +
"where a.ndeputyentityid = b.ndeputyentityid and a.userpriority = b.userpriority)";
Òªµã£º
1£© Èç¹ûuserpriorityûÓÐÖØ¸´Öµ£¬Ôò½á¹û·µ»Øuserpriority×îСֵµÄ¼Ç¼
2£© Èç¹ûuserpriorityÓÐÖØ¸´Öµ£¬Ôò½á¹û·µ»Øuserid×îСֵµÄ¼Ç¼
Ïà¹ØÎĵµ£º
ת×Ô£ºhttp://www.cnblogs.com/houxm/archive/2009/08/26/1554481.html
Ïê½â£ºhttp://sunwayle.blog.51cto.com/114995/102516
Oracle »ØÊÕÕ¾¹¦ÄÜ,³¹µ×ɾ³ý±í
Oracle 10g
ÖгöÏÖ±íÃû£ºBIN$2cMp4FjwQ2Cw3Lj+BxLYTw==$0
×î½ü·¢ÏÖOracleÖгöÏÖÁËÕâÐ©Ææ¹ÖµÄ±íÃû£¬ÉÏÍø²éÕÒºó·¢ÏÖÊÇoracle10gµÄ»ØÊÕÕ¾¹¦ÄÜ£¬²¢Ã»Óг¹µ×µÄɾ³ ......
ÄãÊÇ·ñΪµÈ´ýÄãµÄ²éѯ·µ»Ø½á¹û¶ø¸Ðµ½Æ£±¹£¿ÄãÊÇ·ñÒѾΪÔöÇ¿Ë÷ÒýºÍµ÷ÓÅSQL¶ø¸Ðµ½Æ£±¹£¬µ«ÈÔÈ»²»ÄÜÌá¸ß²éѯÐÔÄÜ£¿ÄÇô£¬ÄãÊÇ·ñÒѾ¿¼ÂÇ´´½¨ÎﻯÊÓͼ£¿ÓÐÁËÎﻯÊÓͼ£¬ÄÇЩ¹ýÈ¥ÐèÒªÊýСʱÔËÐеı¨¸æ¿ÉÒÔÔÚ¼¸·ÖÖÓÄÚÍê³É¡£ÎﻯÊÓͼ¿ÉÒÔ°üÀ¨Áª½Ó£¨join£©ºÍ¼¯ºÏ£¨aggregate£©
ÄãÊÇ·ñΪµÈ´ýÄãµÄ²éѯ·µ»Ø½á¹û¶ø¸Ðµ½Æ£±¹£¿ÄãÊÇ·ñÒÑ ......
decode()º¯數ʹÓü¼ÇÉ
·Èí¼þ»·¾³£º
1¡¢Windows NT4.0+ORACLE 8.0.4
2¡¢ORACLE°²×°Â·¾¶Îª£ºC:\ORANT
·º¬Òå½âÊÍ£º
decode(Ìõ¼þ,Öµ1,·ÒëÖµ1,Öµ2,·ÒëÖµ2,...Öµn,·ÒëÖµn,ȱʡֵ)
¸Ãº¯ÊýµÄº¬ÒåÈçÏ£º
IF Ìõ¼þ=Öµ1 THEN
¡¡¡¡¡¡¡¡RETURN(·ÒëÖµ1)
ELSIF Ìõ¼þ=Öµ2 THEN
¡¡¡¡¡¡¡¡RETURN(·ÒëÖµ2)
......