SQL²éѯÓï¾äÎÊÌâ - MS-SQL Server / ÒÉÄÑÎÊÌâ
Òª´ÓÉÏÍòÌõ¼Ç¼ÖÐÈ¡³öʱ¼ä×î´óµÄÒ»Ìõ¼Ç¼£¬Ôõôд²éѯÓï¾äЧÂʸߣ¿
SELECT * from (SELECT ROW_NUMBER() OVER(partition by x.strCode,x.strId ORDER BY x.strCode,right('000'+TbD.strId,3),x.dtTime desc) AS rownum,x.strId,x.dtTime from TbD as x,TbB WHERE (x.strCode=TbB.strCode))AS T where rownum=1
strCode strId ÊDZàºÅ¡£
0001 1(ÔÚËùÓмǼÖÐȡʱ¼ä×î´óµÄÒ»Ìõ¼Ç¼)
0001 2(ÔÚËùÓмǼÖÐȡʱ¼ä×î´óµÄÒ»Ìõ¼Ç¼)
0002 1(ÔÚËùÓмǼÖÐȡʱ¼ä×î´óµÄÒ»Ìõ¼Ç¼)
0002 2(ÔÚËùÓмǼÖÐȡʱ¼ä×î´óµÄÒ»Ìõ¼Ç¼)
...
Ã²ËÆ row_number()overµÄЧÂʱȽϸß
µ±È»Äã¾õµÃ²»Ðеϰ ¿ÉÒÔÓÃCTE È»ºóÓÃË÷Òý..
ÏÖÔÚ»¹²»µ½ÉÏÍòÌõ¼Ç¼£¬ÉÏÃæµÄ²éѯÓï¾ä¾ÍÐèÒª2Ãëʱ¼ä£¬ÕæÉÏÍòÌõ¼Ç¼Æñ²»ÂýËÀÁË
SQL code:
°Ñ·Ö×é×ֶκÍÅÅÐò×ֶμÓÉÏË÷Òý......
Ïà¹ØÎÊ´ð£º
Ö´ÐеÄ˳Ðò£º
1£©Îļþä¯ÀÀ¿ò£¨Ñ¡ÔñÎļþʹÓã©
Ñ¡ÔñºÃÎļþºó
µã»÷Ò»¸öµ¼Èë°´Å¥µÄʱºò £¬°ÑÉÏÃæÉÏ´«¿òÀïµÄcsvÎļþÒÔÒ»¸öIDΪÎļþÃû£¬ÉÏ´«µ½**/**Îļþ¼ÐÏÂ
2£©¶ÁÈ¡Õâ¸öÎļþ¼ÐϵÄcsvµÄÎļþ£¬×ª»»³Ésql
3 ......
СµÜ£¬×î½üҪתÐÐÈ¥×öoracle¿ª·¢ÁË£¬ÓÉÓÚ´óѧ±Ïҵʱ£¬×ßÁ˸öÍä·£¬ÏÖÔÚºÜСÐÄ£¬ÎÊÏ£¬×öPL/SQLÓÐûÓÐǰ;£¿£¿£¿
µ±È»ÎÒ˵µÄÕâ¸öǰ;ÊÇÖ¸ ÒÔºóÒªÌø²Û£¬Êг¡¶ÔÕâÑùµÄÈ˲ŵÄÐèÇóÁ¿´ó²»´ó£¿£¿
3q ÄÇ¿´À´»¹Ö»ÄÜÏȽӴ ......
ÎÒÊÇÔÚtoadÖÐÊäÈë϶Îsql
declare
TYPE test_rec IS record(
code varchar(10),
name varchar(30)
);
v_book test_rec;
......
tab1 ×Ö¶Î:billdate,goodsid,incount,inmoney,outcount,outmoney,endprice,endcount,endamt
tab2 ×Ö¶Î:goodsid,goodskind£¨ÉÌÆ·ÀàÐÍ£©
tab3 ×Ö¶Î:goodskind£¨ÉÌÆ·ÀàÐÍ£©,kindname
½á¹û£º
µÃµ½ÉÌÆ·ÀàÐÍÔÚÒ»¶Îʱ¼ä ......