ÐÖµÜÃÇ£¬°ïÎÒ¸ÄÒ»ÌõSQLÓï¾ä
SQL code:
create table ¿â´æ±í(±àÂë varchar(10), ¿â´æ int, ½ø»õÈÕÆÚ datetime)
insert into ¿â´æ±í values('001' , 10 , '2008-03-01')
insert into ¿â´æ±í values('001' , 16 , '2008-03-02')
insert into ¿â´æ±í values('001' , 29 , '2008-03-03')
insert into ¿â´æ±í values('002' , 12 , '2008-03-08')
insert into ¿â´æ±í values('002' , 15 , '2008-03-09')
create table ÏúÊÛ±í(±àÂë varchar(10), ÏúÊÛÊýÁ¿ int)
insert into ÏúÊÛ±í values('001' , 15 )
insert into ÏúÊÛ±í values('002' , 20 )
update ¿â´æ±í
set ¿â´æ = case when (select sum(¿â´æ) from ¿â´æ±í where ±àÂë = m.±àÂë and ½ø»õÈÕÆÚ <= m.½ø»õÈÕÆÚ) < n.ÏúÊÛÊýÁ¿ then 0
when (select sum(¿â´æ) from ¿â´æ±í where ±àÂë = m.±àÂë and ½ø»õÈÕÆÚ <= m.½ø»õÈÕÆÚ) >= n.ÏúÊÛÊýÁ¿ and isnull((select sum(¿â´æ) from ¿â´æ±í where ±àÂë = m.±àÂë and ½ø»õÈÕÆÚ < m.½ø»õÈÕÆÚ),0) < n.ÏúÊÛÊýÁ¿ then (select sum(¿â´æ) from ¿â´æ±í where ±àÂë = m.±àÂë and ½ø»õÈÕÆÚ <= m.½ø»õÈÕÆÚ) - n.ÏúÊÛÊýÁ¿
else m.¿â´æ
end
from ¿â´æ±í m , ÏúÊÛ±í n
where m.±àÂë = n.±àÂë
select * from ¿â´æ±í
drop table ¿â´æ±í,ÏúÊÛ±í
ÄÄλÐÖµÜÄܰÑÕâÌõ¸üÐÂÓï¾ä¸Ä³É ´øÓÐwith Óï·¨¸ñʽ°¡ (sql2005 µÄÐÂÌØÐÔ)
;with t as
(
select rn=ROW_NUMBER()over(Order by ...) from ...
)
ÄѵÀÂ¥Ö÷ÏëÒªrow_number()
²»¹ýÕâÑù×öûʲôÒâÒå¡£ÊôÓÚ×ÔÕÒÂé·³¡£¡£¡£
ÎÒµÄÒâ˼ÊÇ <
Ïà¹ØÎÊ´ð£º
Ö´ÐеÄ˳Ðò£º
1£©Îļþä¯ÀÀ¿ò£¨Ñ¡ÔñÎļþʹÓã©
Ñ¡ÔñºÃÎļþºó
µã»÷Ò»¸öµ¼Èë°´Å¥µÄʱºò £¬°ÑÉÏÃæÉÏ´«¿òÀïµÄcsvÎļþÒÔÒ»¸öIDΪÎļþÃû£¬ÉÏ´«µ½**/**Îļþ¼ÐÏÂ
2£©¶ÁÈ¡Õâ¸öÎļþ¼ÐϵÄcsvµÄÎļþ£¬×ª»»³Ésql
3 ......
sql 2005Êý¾Ý¿âÎÒÏëµÃµ½Ò»×Ö·û´®Îª:
sldkf|||sdeww
erkv|||rltdk
jemcl|||ligf
¾ÍÊÇ|||ºóÃæµÄ×Ö·ûÓÐʲôº¯ÊýÄܵõ½Âð£¿ÊÇÔÚsqlÓï¾äдµÄ£¬²»ÊÇÔÚÒ³ÃæÐ´µÄ£¬ÄÇλ¸ßÊÖÀ´Ö¸½ÌÏ£¬ÐÂÊÖ£¬Ð»Ð»
ÔÎ µ ......
CREATE PROCEDURE [selectvipcompany]
@username varchar(50),
@companyname varchar(50),
@endtime varchar(1)
AS
declare @sql varchar(1000)
set @sql='' ......
½ñÌì×öÁËÒ»¸ö´æ´¢¹ý³Ì »·¾³ÊÇSQL2000Êý¾Ý¿â
´óÖÂÈçÏÂ
½¨Á¢ÁÙʱ±í
¶¨ÒåÔ±¹¤Óαê
Ñ»·Ô±¹¤£¨ÊôÓÚ1¸ö¹«Ë¾)
......
ÎÒÊÇÔÚtoadÖÐÊäÈë϶Îsql
declare
TYPE test_rec IS record(
code varchar(10),
name varchar(30)
);
v_book test_rec;
......