ÇëÎÊÒ»ÌõsqlÓï¾ä - MS-SQL Server / »ù´¡Àà
±íÈçÏÂ:
ProduceID Date
1 2010-2-3
1 2010-3-4
1 2010-5-6
1 2010-7-10
ÎÒÒªµÃµ½ÕâÑùµÄ½á¹û
ProduceID Date_1 Date_2
1 2010-2-3 2010-3-4
1 2010-5-6 2010-7-10
Ò²¾ÍÊÇProduceIDÏàͬ,Dateʱ¼äÏàÁڵĽá³ÉÒ»Ìõ¼Ç¼,Èç¹û×îºóÒ»¸öDate³Éµ¥ÁË£¬ ¸ÕDate_2Ϊnull
ÇëÎÊ´ó¼ÒÒªÈçºÎʵÏÖÄØ£¿
SQL code:
DECLARE @a table(ProduceID INT, Date varchar(20))
insert @a select 1 ,'2010-2-3'
union all select 1 ,'2010-3-4'
union all select 1 ,'2010-5-6'
union all select 1 ,'2010-7-10'
union all select 1 ,'2010-9-10'
union all select 2 ,'2010-10-10'
DECLARE @b table(id INT,ProduceID INT,Date varchar(20))
INSERT @b
SELECT id=(SELECT count(1) from @a WHERE ProduceID=a.produceid AND date<=a.date),
*from @a a
SELECT aa.ProduceID,aa.date Date1,bb.date date2
from (SELECT * from @b WHERE id %2=1) aa
LEFT JOIN
(SELECT * from @b WHERE id %2=0 ) bb
ON aa.ProduceID=bb.ProduceID and aa.id=bb.id-1
--result
/*
ProduceID Date1 date2
----------- -------------------- --------------------
1 2010-2-3 2010-3-4
1 2010-5-6 2010-7-10
1 2010-9-10 NULL
2 2010-10-10 NULL
£¨ËùÓ°ÏìµÄÐÐÊýΪ 4 ÐУ©
*/
ÿÌìÒ»´Î²»¶®°ï¶¥Ñ§Ï°²
Ïà¹ØÎÊ´ð£º
ÎÒÓжà¸ö±íA B C ½á¹¹ÊÇÒ»ÑùµÄ£¬¶¼ÓÐ2¸ö×Ö¶ÎnameºÍcontent,ÎÒÒªËÑË÷ËùÒÔ±íËùÓÐ×Ö¶ÎÖаüº¬¡°Öйú¡±µÄÄÚÈÝ Õâ¸öSQLÓï¾äÔõôд
ÈçºÎ½«¶à¸ö±íµÄ²éѯ½á¹ûÁ¬³ÉÒ»¸ö±í Õâ¸öSQLÓï¾äÔõôд ±íµÄ½á¹¹ÊÇÒ»ÑùµÄ
ÀýÈç£ ......
¿ÉÄÜÒòΪ¹¤×÷µÄÔÒò ½Ó´¥Êý¾Ý¿âÕâ¿é±È½ÏÉÙ£¬Ö®Ç°¶¼ÊÇ×ö³ÌÐòÕâ¿é£¬Êý¾Ý¿âÕâ¿é¶¼ÓÐרÃŵÄÈËÀ´×ö ·Ö¹¤¶¼ºÜÃ÷ϸ ËùÒÔ¶ÔÊý¾Ý¿âÕâÒ»¿éÍêÈ«²»Á˽⡣ǰ¶Îʱ¼ä È¥ÃæÊÔÁ˼¸¼Ò¹«Ë¾ ¼¸ºõ¶¼ÊÇÔÚÊý¾Ý¿âÕâ¿é¹ÒµôµÄ Á¬¸ö¼òµ¥µÄSQ ......
sqlµÄÈí¼þÔÚÄÄÀï¿ÉÒÔϰ¡£¡ÔÚÍøÉÏÕÒÁËÂù¶à¶¼Óò»Á˰¡
Ëæ±ã¸ãÒ»D°æ°É£¬
ѸÀ×µÚÒ»¸ö¾Í¿ÉÒÔÓÃ
2000,2005¶¼ÕâÑù
http://119.147.41.16/down?cid=0698C2D64D7D637D90A6D2482298E6717D4F15CD&t=2&fmt=-1 ......
tab1 ×Ö¶Î:billdate,goodsid,incount,inmoney,outcount,outmoney,endprice,endcount,endamt
tab2 ×Ö¶Î:goodsid,goodskind£¨ÉÌÆ·ÀàÐÍ£©
tab3 ×Ö¶Î:goodskind£¨ÉÌÆ·ÀàÐÍ£©,kindname
½á¹û£º
µÃµ½ÉÌÆ·ÀàÐÍÔÚÒ»¶Îʱ¼ä ......