Óû§×¢²á  µÇ¼  ¹ºÎï³µ  ÎҵĶ©µ¥  °ïÖúÖÐÐÄ  ¿Í»§·´À¡

¿Í·þÈÈÏߣº(0592)8636830
ÍøÕ¾Ê×Ò³ ½ðµû ËÙ´ï ½úÐÂÈí¼þ ¹Ü¼ÒÆÅ ½ðÍòά Ä£°å½¨Õ¾ ÐÂÎÅ×ÊѶ ±¨¼Ûµ¥

ÇëÑ¡Ôñ·ÖÀࣺ ½ðµûKIS  3000ϵÁР 5000ϵÁР 7000ϵÁР ²ÆÎñϵÁР ÐÐÒµÈí¼þ  ÆäËü  ½úÒµ·þ×°  ½úҵͨϵÁР ½úÒµÁ¬Ëø³¬ÊР 

2013-11-18 ÐÇÆÚÒ» ¸ß¼¶/×éºÏËÑË÷
¸øÎÒ·¢ÏûÏ¢

¼¼ÊõÖ§³Ö1

¸øÎÒ·¢ÏûÏ¢

¼¼ÊõÖ§³Ö2

 Òþ²Ø
ËùÓÐÐÂÎÅ
Õ¾ÄÚÐÂÎÅ
Õ¾ÄÚÐÂÎÅ
½â¾ö·½°¸
µäÐͿͻ§
ÐÐÒµÐÂÎÅ
¼¼ÊõÖ§³Ö
¼¼ÊõÎÄÕÂ(Èí¼þ)
¼¼ÊõÎÄÕÂ(ÍøÕ¾)
ÆäËü
²ÆÎñ֪ʶ
Ìá¸ßSQL ServerÐÔÄܵļ¸ÖÖ

×÷Õߣº  ×ªÔØ×Ô£º  ·¢²¼ÈÕÆÚ£º2009-7-31

ÓÐʱ£¬ÎªÁËÈÃÓ¦ÓóÌÐòÔËÐеøü¿ì£¬Ëù×öµÄÈ«²¿¹¤×÷¾ÍÊÇÔÚÕâÀï»òÄÇÀï×öһЩºÜСµ÷Õû¡£µ«¹Ø¼üÔÚÓÚÈ·¶¨ÈçºÎ½øÐе÷Õû!³ÙÔçÄú»áÓöµ½ÕâÖÖÇé¿ö£ºÓ¦ÓóÌÐòÖÐµÄ SQL ²éѯ²»Äܰ´ÕÕÄúÏëÒªµÄ·½Ê½½øÐÐÏìÓ¦¡£ËüҪô²»·µ»ØÊý¾Ý£¬ÒªÃ´ºÄ·ÑµÄʱ¼ä³¤µÃ³öÆæ¡£Èç¹ûËü½µµÍÁËÆóÒµÓ¦ÓóÌÐòµÄËÙ¶È£¬Óû§±ØÐëµÈ´ýºÜ³¤Ê±¼ä¡£Óû§Ï£ÍûÓ¦ÓóÌÐòÏìӦѸËÙ£¬ËûÃǵı¨¸æÄܹ»ÔÚ˲¼äÖ®ÄÚ·µ»Ø·ÖÎöÊý¾Ý¡£¾ÍÎÒ×Ô¼º¶øÑÔ£¬Èç¹ûÔÚWebÉϳåÀËʱij¸öÒ³ÃæÒªºÄ·ÑÊ®¶àÃë²ÅÄܼÓÔØ£¬ÎÒÒ²»áºÜ²»ÄÍ·³¡£ 8.lc4B:?€.@
GHzPE(77+ nBz
¡¡¡¡ÎªÁ˽â¾öÕâЩÎÊÌâ£¬ÖØÒªµÄÊÇÕÒµ½ÎÊÌâµÄ¸ùÔ´¡£ÄÇô£¬´ÓÄÄÀï¿ªÊ¼ÄØ?¸ù±¾Ô­Òòͨ³£ÔÚÓÚÊý¾Ý¿âÉè¼ÆºÍ·ÃÎÊËüµÄ²éѯ¡£ÎÒ½«½²ÊöËÄÏî¼¼Êõ£¬ÕâЩ¼¼Êõ¿ÉÓÃÓÚÌá¸ß»ùÓÚSQL ServerµÄÓ¦ÓóÌÐòµÄÐÔÄÜ»ò¸ÄÉÆÆä¿ÉÉìËõÐÔ¡£ÎÒ½«×Ðϸ˵Ã÷ LEFT JOIN¡¢CROSS JOIN µÄʹÓÃÒÔ¼°IDENTITY ÖµµÄ¼ìË÷¡£Çë¼Çס£¬¸ù±¾Ã»ÓÐÉñÆæµÄ½â¾ö·½°¸¡£µ÷ÕûÄúµÄÊý¾Ý¿â¼°Æä²éѯÐèÒªÕ¼ÓÃʱ¼ä¡¢½øÐзÖÎö£¬»¹ÐèÒª´óÁ¿µÄ²âÊÔ¡£ÕâЩ¼¼Êõ¶¼Òѱ»Ö¤Ã÷ÐÐÖ®ÓÐЧ£¬µ«¶ÔÄúµÄÓ¦ÓóÌÐò¶øÑÔ£¬¿ÉÄÜÆäÖÐһЩ¼¼Êõ±ÈÁíһЩ¼¼Êõ¸üÊÊÓᣠG,,X(45}!6q^Ph 4/
A Z[.iv (k=k g|?3
¡¡¡¡´Ó INSERT ·µ»Ø IDENTITY qnkOk6 wSRs&cddi;
v(~p8-GO.Pjfm` ?
¡¡¡¡ÎÒ¾ö¶¨´ÓÓöµ½Ðí¶àÎÊÌâµÄÄÚÈÝÈëÊÖ£ºÈçºÎÔÚÖ´ÐÐSQL INSERTºó¼ìË÷IDENTITYÖµ¡£Í¨³££¬ÎÊÌâ²»ÔÚÓÚÈçºÎ±àд¼ìË÷ÖµµÄ²éѯ£¬¶øÔÚÓÚÔÚÄÄÀïÒÔ¼°ºÎʱ½øÐмìË÷¡£ÔÚSQL ServerÖУ¬ÏÂÃæµÄÓï¾ä¿ÉÓÃÓÚ¼ìË÷ÓÉ×îÐÂÔڻÊý¾Ý¿âÁ¬½ÓÉÏÔËÐÐµÄ SQL Óï¾äËù´´½¨µÄ IDENTITY Öµ£º \= ~^dB\hP(ExW M`Eo
?b]q|€z/3y*sH`+
¡¡¡¡SELECT @@IDENTITY # xt`EN^HrD!O
 ]Q|bt8YN#^ttdEa
9Ty "aoY|*4Q\J*G
¡¡¡¡Õâ¸ö SQL Óï¾ä²¢²»¸´ÔÓ£¬µ«ÐèÒª¼ÇסµÄÒ»µãÊÇ£ºÈç¹ûÕâ¸ö×îÐ嵀 SQL Óï¾ä²»ÊÇ INSERT£¬»òÕßÄúÕë¶Ô·Ç INSERT SQL µÄÆäËûÁ¬½ÓÔËÐÐÁË´Ë SQL£¬Ôò²»»á»ñµÃÆÚÍûµÄÖµ¡£Äú±ØÐëÔËÐÐÏÂÁдúÂë²ÅÄܼìË÷½ô¸úÔÚ INSERT SQL Ö®ºóÇÒλÓÚͬһÁ¬½ÓÉ쵀 IDENTITY£¬ÈçÏÂËùʾ£º h_-DX: :~H0€
bJLMliBpHsN€ 9=
¡¡¡¡INSERT INTO Products (ProductName) VALUES ('Chalk') #f='X#]Zv%j"~d=)2
¡¡¡¡SELECT @@IDENTITY 2Kn]` O,*-E9 e^xN
:*W}k€d)(~5K. wd
¡¡¡¡ÔÚÒ»¸öÁ¬½ÓÉÏÕë¶Ô Northwind Êý¾Ý¿âÔËÐÐÕâЩ²éѯ½«·µ»ØÒ»¸öÃû³ÆÎª Chalk µÄвúÆ·µÄ IDENTITY Öµ¡£ËùÒÔ£¬ÔÚʹÓÃADOVisual BasicÓ¦ÓóÌÐòÖУ¬¿ÉÒÔÔËÐÐÒÔÏÂÓï¾ä£º b ?Qq 3r zoyZb1
E9PAHB^C`7a-c l2#=

Set oRs = oCn.Execute("SET NOCOUNT ON;INSERT INTO Products _ ¡¡¡¡(ProductName) VALUES ('Chalk');SELECT @@IDENTITY") ¡¡¡¡lProductID = oRs(0)

\X%Q . #;_M.b5k
Av%W&B*5b&SX@XuiK#
¡¡¡¡yRIyr-Ewi67S= 
    `qL -=lf#(=k4/-
     ´Ë´úÂë¸æËß SQL Server ²»Òª·µ»Ø²éѯµÄÐмÆÊý£¬È»ºóÖ´ÐÐ INSERT Óï¾ä£¬²¢·µ»Ø¸Õ¸ÕΪÕâ¸öÐÂÐд´½¨µÄ IDENTITY Öµ¡£SET NOCOUNT ON Óï¾ä±íʾ·µ»ØµÄ¼Ç¼¼¯ÓÐÒ»ÐкÍÒ»ÁУ¬ÆäÖаüº¬ÁËÕâ¸öÐ嵀 IDENTITY Öµ¡£Èç¹ûûÓдËÓï¾ä£¬Ôò»áÊ×ÏÈ·µ»ØÒ»¸ö¿ÕµÄ¼Ç¼¼¯(ÒòΪ INSERT Óï¾ä²»·µ»ØÈκÎÊý¾Ý)£¬È»ºó»á·µ»ØµÚ¶þ¸ö¼Ç¼¼¯£¬µÚ¶þ¸ö¼Ç¼¼¯Öаüº¬ IDENTITY Öµ¡£Õâ¿ÉÄÜÓÐЩÁîÈËÀ§»ó£¬ÓÈÆäÊÇÒòΪÄú´ÓÀ´¾ÍûÓÐÏ£Íû¹ý INSERT »á·µ»Ø¼Ç¼¼¯¡£Ö®ËùÒԻᷢÉú´ËÇé¿ö£¬ÊÇÒòΪ SQL Server ¿´µ½ÁËÕâ¸öÐмÆÊý(¼´Ò»ÐÐÊܵ½Ó°Ïì)²¢½«Æä½âÊÍΪ±íʾһ¸ö¼Ç¼¼¯¡£Òò´Ë£¬ÕæÕýµÄÊý¾Ý±»Íƻص½Á˵ڶþ¸ö¼Ç¼¼¯¡£µ±È»Äú¿ÉÒÔʹÓà ADO ÖÐµÄ NextRecordset ·½·¨»ñÈ¡´ËµÚ¶þ¸ö¼Ç¼¼¯£¬µ«Èç¹û×ÜÄܹ»Ê×ÏÈ·µ»Ø¸Ã¼Ç¼¼¯ÇÒÖ»·µ»Ø¸Ã¼Ç¼¼¯£¬Ôò»á¸ü·½±ã£¬Ò²¸üÓÐЧÂÊ¡£ r}4=Pg!0lI1'd$
nh M z#1H6il€
¡¡¡¡´Ë·½·¨ËäÈ»ÓÐЧ£¬µ«ÐèÒªÔÚ SQL Óï¾äÖжîÍâÌí¼ÓһЩ´úÂë¡£»ñµÃÏàͬ½á¹ûµÄÁíÒ»·½·¨ÊÇÔÚ INSERT ֮ǰʹÓà SET NOCOUNT ON Óï¾ä£¬²¢½« SELECT @@IDENTITY Óï¾ä·ÅÔÚ±íÖÐµÄ FOR INSERT ´¥·¢Æ÷ÖУ¬ÈçÏÂÃæµÄ´úÂëÆ¬¶ÎËùʾ¡£ÕâÑù£¬ÈκνøÈë¸Ã±íµÄ INSERT Óï¾ä¶¼½«×Ô¶¯·µ»Ø IDENTITY Öµ¡£ AP!8ZrGD+TX [=
o8a nR5%jfJ ;Y^JK
¡¡¡¡CREATE TRIGGER trProducts_Insert ON Products FOR INSERT AS O*|\k()=WM=3VNX!
¡¡¡¡SELECT @@IDENTITY p{ i'Z5!c#DJM-ylK
¡¡¡¡GO [(Y 'v $Tgm6b
kx*?Zy\+,P )A l
ASsvt~ H]AfXVyr6VK'
¡¡¡¡´¥·¢Æ÷Ö»ÔÚ Products ±íÉÏ·¢Éú INSERT ʱÆô¶¯£¬ËùÒÔËü×ÜÊÇ»áÔڳɹ¦ INSERT Ö®ºó·µ»ØÒ»¸ö IDENTITY¡£Ê¹Óô˼¼Êõ£¬Äú¿ÉÒÔʼÖÕÒÔÏàͬµÄ·½Ê½ÔÚÓ¦ÓóÌÐòÖмìË÷ IDENTITY Öµ¡£ ?spLr+xB*gSa@zr
9l*$O M+YOhBxdnl

ÄÚǶÊÓͼÓëÁÙʱ±í G47&l|c?tLGzNiZ

¡¡¡¡Ä³Ð©Ê±ºò£¬²éѯÐèÒª½«Êý¾ÝÓëÆäËûһЩ¿ÉÄÜÖ»ÄÜͨ¹ýÖ´ÐÐ GROUP BY È»ºóÖ´Ðбê×¼²éѯ²ÅÄÜÊÕ¼¯µÄÊý¾Ý½øÐÐÁª½Ó¡£ÀýÈ磬Èç¹ûÒª²éѯ×îÐÂÎå¸ö¶¨µ¥µÄÓйØÐÅÏ¢£¬ÄúÊ×ÏÈÐèÒªÖªµÀÊÇÄÄЩ¶¨µ¥¡£Õâ¿ÉÒÔʹÓ÷µ»Ø¶¨µ¥ ID µÄ SQL ²éѯÀ´¼ìË÷¡£´ËÊý¾Ý¾Í»á´æ´¢ÔÚÁÙʱ±í(ÕâÊÇÒ»¸ö³£Óü¼Êõ)ÖУ¬È»ºóÓë Products ±í½øÐÐÁª½Ó£¬ÒÔ·µ»ØÕâЩ¶¨µ¥ÊÛ³öµÄ²úÆ·ÊýÁ¿£ºy@fiRY8cKHl[Yxfs

¡¡¡¡CREATE TABLE #Temp1 (OrderID INT NOT NULL, _ p@ &0 * L J*~xy
¡¡¡¡OrderDate DATETIME NOT NULL) ~NY{'b .Ai&WYJ[=
¡¡¡¡INSERT INTO #Temp1 (OrderID, OrderDate) 6q|b1y[Jlo0M*iF
¡¡¡¡SELECT TOP 5 o.OrderID, o.OrderDate $j(sI:F[f/EZ? h
¡¡¡¡FROM Orders o ORDER BY o.OrderDate DESC ,5,N,?)qsk}67B/
¡¡¡¡SELECT p.ProductName, SUM(od.Quantity) AS ProductQuantity Rgg cKg"#_e@$pp
¡¡¡¡FROM #Temp1 t &peq'(r0B`C8xr
¡¡¡¡INNER JOIN [Order Details] od ON t.OrderID = od.OrderID 5\i3Gmvh%7^+r%.
¡¡¡¡INNER JOIN Products p ON od.ProductID = p.ProductID \?lepW"s1=BP{
¡¡¡¡GROUP BY p.ProductName V($?5}|w8yZ}O?Y
¡¡¡¡ORDER BY p.ProductName d5y]1'M8s_+q
¡¡¡¡DROP TABLE #Temp1
O6/ {C,_:Px\R

¡¡¡¡ÕâЩ SQL Óï¾ä»á´´½¨Ò»¸öÁÙʱ±í£¬½«Êý¾Ý²åÈë¸Ã±íÖУ¬½«ÆäËûÊý¾ÝÓë¸Ã±í½øÐÐÁª½Ó£¬È»ºó³ýÈ¥¸ÃÁÙʱ±í¡£Õâ»áµ¼Ö´˲éѯ½øÐдóÁ¿ I/O ²Ù×÷£¬Òò´Ë£¬¿ÉÒÔÖØÐ±àд²éѯ£¬Ê¹ÓÃÄÚǶÊÓͼȡ´úÁÙʱ±í¡£ÄÚǶÊÓͼֻÊÇÒ»¸ö¿ÉÒÔÁª½Óµ½ FROM ×Ó¾äÖеIJéѯ¡£ËùÒÔ£¬Äú²»ÓÃÔÚ tempdb ÖеÄÁÙʱ±íÉϺķѴóÁ¿ I/O ºÍ´ÅÅÌ·ÃÎÊ£¬¶ø¿ÉÒÔʹÓÃÄÚǶÊÓͼµÃµ½Í¬ÑùµÄ½á¹û£ºcLWE;wbX I€#8xU

¡¡¡¡SELECT p.ProductName, b6[eP+=( 3 2BA
¡¡¡¡SUM(od.Quantity) AS ProductQuantity 8(=,jI4Spb q ="T
¡¡¡¡FROM ( X}%u,I|yeT($E7
¡¡¡¡SELECT TOP 5 o.OrderID, o.OrderDate U0.€="ut%=W_POy
¡¡¡¡FROM Orders o C81t}e:IGIdk%Y@,zp)
¡¡¡¡ORDER BY o.OrderDate DESC €jx'l9yq16Z_O
¡¡¡¡) t [F=L@V8k\#T(YKI
¡¡¡¡INNER JOIN [Order Details] od ON t.OrderID = od.OrderID z[Q\HT^i!iU~1o6
¡¡¡¡INNER JOIN Products p ON od.ProductID = p.ProductID 8WdR )@(%c: yv
¡¡¡¡GROUP BY +62$:xs;5h$ID2€$ q#
¡¡¡¡p.ProductName :k =IPIj;%kAe hAOqa
¡¡¡¡ORDER BY k61e5sDjy]C1Nb l=
¡¡¡¡p.ProductName
rY! c Yv~_ lzvnT

¡¡¡¡´Ë²éѯ²»½ö±ÈÇ°ÃæµÄ²éѯЧÂʸü¸ß£¬¶øÇÒ³¤¶È¸ü¶Ì¡£ÁÙʱ±í»áÏûºÄ´óÁ¿×ÊÔ´¡£Èç¹ûÖ»ÐèÒª½«Êý¾ÝÁª½Óµ½ÆäËû²éѯ£¬Ôò¿ÉÒÔÊÔÊÔʹÓÃÄÚǶÊÓͼ£¬ÒÔ½ÚÊ¡×ÊÔ´¡£5&1j,;FV S}UB1tT/FF

¡¡¡¡±ÜÃâ LEFT JOIN ºÍ NULLQv)l 4)Z+?G^$g:e.

¡¡¡¡µ±È»£¬ÓкܶàʱºòÄúÐèÒªÖ´ÐÐ LEFT JOIN ºÍʹÓà NULL Öµ¡£µ«ÊÇ£¬ËüÃDz¢²»ÊÊÓÃÓÚËùÓÐÇé¿ö¡£¸Ä±ä SQL ²éѯµÄ¹¹½¨·½Ê½¿ÉÄÜ»á²úÉú½«Ò»¸ö»¨¼¸·ÖÖÓÔËÐеı¨¸æËõ¶Ìµ½Ö»»¨¼¸ÃëÖÓÕâÑùµÄÌìÈÀÖ®±ðµÄЧ¹û¡£ÓÐʱ£¬±ØÐëÔÚ²éѯÖе÷ÕûÊý¾ÝµÄÐÎ̬£¬Ê¹Ö®ÊÊÓ¦Ó¦ÓóÌÐòËùÒªÇóµÄÏÔʾ·½Ê½¡£ËäÈ» TABLE Êý¾ÝÀàÐÍ»á¼õÉÙ´óÁ¿Õ¼ÓÃ×ÊÔ´µÄÇé¿ö£¬µ«ÔÚ²éѯÖл¹ÓÐÐí¶àÇøÓò¿ÉÒÔ½øÐÐÓÅ»¯¡£SQL µÄÒ»¸öÓмÛÖµµÄ³£Óù¦ÄÜÊÇ LEFT JOIN¡£Ëü¿ÉÒÔÓÃÓÚ¼ìË÷µÚÒ»¸ö±íÖеÄËùÓÐÐС¢µÚ¶þ¸ö±íÖÐËùÓÐÆ¥ÅäµÄÐС¢ÒÔ¼°µÚ¶þ¸ö±íÖÐÓëµÚÒ»¸ö±í²»Æ¥ÅäµÄËùÓÐÐС£ÀýÈ磬Èç¹ûÏ£Íû·µ»ØÃ¿¸ö¿Í»§¼°Æä¶¨µ¥£¬Ê¹Óà LEFT JOIN Ôò¿ÉÒÔÏÔʾÓж¨µ¥ºÍûÓж¨µ¥µÄ¿Í»§¡£DMe=2[UD3(S96m+UU

¡¡¡¡´Ë¹¤¾ß¿ÉÄܻᱻ¹ý¶ÈʹÓá£LEFT JOIN ÏûºÄµÄ×ÊÔ´·Ç³£Ö®¶à£¬ÒòΪËüÃǰüº¬Óë NULL(²»´æÔÚ)Êý¾ÝÆ¥ÅäµÄÊý¾Ý¡£ÔÚijЩÇé¿öÏ£¬ÕâÊDz»¿É±ÜÃâµÄ£¬µ«ÊÇ´ú¼Û¿ÉÄܷdz£¸ß¡£LEFT JOIN ±È INNER JOIN ÏûºÄ×ÊÔ´¸ü¶à£¬ËùÒÔÈç¹ûÄú¿ÉÒÔÖØÐ±àд²éѯÒÔʹµÃ¸Ã²éѯ²»Ê¹ÓÃÈκΠLEFT JOIN£¬Ôò»áµÃµ½·Ç³£¿É¹ÛµÄ»Ø±¨¡£0`l`9%2l7!a`F ?

¡¡¡¡¼Ó¿ìʹÓà LEFT JOIN µÄ²éѯËٶȵÄÒ»Ïî¼¼ÊõÉæ¼°´´½¨Ò»¸ö TABLE Êý¾ÝÀàÐÍ£¬²åÈëµÚÒ»¸ö±í(LEFT JOIN ×ó²àµÄ±í)ÖеÄËùÓÐÐУ¬È»ºóʹÓõڶþ¸ö±íÖеÄÖµ¸üРTABLE Êý¾ÝÀàÐÍ¡£´Ë¼¼ÊõÊÇÒ»¸öÁ½²½µÄ¹ý³Ì£¬µ«Óë±ê×¼µÄ LEFT JOIN Ïà±È£¬¿ÉÒÔ½ÚÊ¡´óÁ¿Ê±¼ä¡£Ò»¸öºÜºÃµÄ¹æÔòÊdz¢ÊÔ¸÷ÖÖ²»Í¬µÄ¼¼Êõ²¢¼Ç¼ÿÖÖ¼¼ÊõËùÐèµÄʱ¼ä£¬Ö±µ½»ñµÃÓÃÓÚÄúµÄÓ¦ÓóÌÐòµÄÖ´ÐÐÐÔÄÜ×î¼ÑµÄ²éѯ¡£3]^r62M4^d4€

    @wLpo+Cna}=€*`W
    ²âÊÔ²éѯµÄËÙ¶Èʱ£¬ÓбØÒª¶à´ÎÔËÐд˲éѯ£¬È»ºóȡһ¸öƽ¾ùÖµ¡£ÒòΪ²éѯ(»ò´æ´¢¹ý³Ì)¿ÉÄÜ»á´æ´¢ÔÚ SQL Server ÄÚ´æÖеĹý³Ì»º´æÖУ¬Òò´ËµÚÒ»´Î³¢ÊԺķѵÄʱ¼äºÃÏñÉÔ³¤Ò»Ð©£¬¶øËùÓкóÐø³¢ÊԺķѵÄʱ¼ä¶¼½Ï¶Ì¡£ÁíÍ⣬ÔËÐÐÄúµÄ²éѯʱ£¬¿ÉÄÜÕýÔÚÕë¶ÔÏàͬµÄ±íÔËÐÐÆäËû²éѯ¡£µ±ÆäËû²éÑ¯Ëø¶¨ºÍ½âËøÕâЩ±íʱ£¬¿ÉÄܻᵼÖÂÄúµÄ²éѯҪÅŶӵȴý¡£ÀýÈ磬Èç¹ûÄú½øÐвéѯʱijÈËÕýÔÚ¸üР´Ë±íÖеÄÊý¾Ý£¬ÔòÔÚ¸üÐÂÌύʱÄúµÄ²éѯ¿ÉÄÜÐèÒªºÄ·Ñ¸ü³¤Ê±¼äÀ´Ö´ÐС£

¡¡¡¡±ÜÃâʹÓà LEFT JOIN ʱËٶȽµµÍµÄ×î¼òµ¥·½·¨ÊǾ¡¿ÉÄÜ¶àµØÎ§ÈÆËüÃÇÉè¼ÆÊý¾Ý¿â¡£ÀýÈ磬¼ÙÉèijһ²úÆ·¿ÉÄܾßÓÐÀà±ðÒ²¿ÉÄÜûÓÐÀà±ð¡£Èç¹û Products ±í´æ´¢ÁËÆäÀà±ðµÄ ID£¬¶øÃ»ÓÐÓÃÓÚij¸öÌØ¶¨²úÆ·µÄÀà±ð£¬ÔòÄú¿ÉÒÔÔÚ×Ö¶ÎÖд洢 NULL Öµ¡£È»ºóÄú±ØÐëÖ´ÐÐ LEFT JOIN À´»ñÈ¡ËùÓвúÆ·¼°ÆäÀà±ð¡£Äú¿ÉÒÔ´´½¨Ò»¸öֵΪ¡°No Category¡±µÄÀà±ð£¬´Ó¶øÖ¸¶¨Íâ¼ü¹ØÏµ²»ÔÊÐí NULL Öµ¡£Í¨¹ýÖ´ÐÐÉÏÊö²Ù×÷£¬ÏÖÔÚÄú¾Í¿ÉÒÔʹÓà INNER JOIN ¼ìË÷ËùÓвúÆ·¼°ÆäÀà±ðÁË¡£ËäÈ»Õâ¿´ÆðÀ´ºÃÏñÊÇÒ»¸ö´øÓжàÓàÊý¾ÝµÄ±äͨ·½·¨£¬µ«¿ÉÄÜÊÇÒ»¸öºÜÓмÛÖµµÄ¼¼Êõ£¬ÒòΪËü¿ÉÒÔÏû³ý SQL Åú´¦ÀíÓï¾äÖÐÏûºÄ×ÊÔ´½Ï¶àµÄ LEFT JOIN¡£ÔÚÊý¾Ý¿âÖÐÈ«²¿Ê¹Óô˸ÅÄî¿ÉÒÔΪÄú½ÚÊ¡´óÁ¿µÄ´¦Àíʱ¼ä¡£Çë¼Çס£¬¶ÔÓÚÄúµÄÓû§¶øÑÔ£¬¼´Ê¹¼¸ÃëÖÓµÄʱ¼äÒ²·Ç³£ÖØÒª£¬ÒòΪµ±ÄúÓÐÐí¶àÓû§ÕýÔÚ·ÃÎÊͬһ¸öÁª»úÊý¾Ý¿âÓ¦ÓóÌÐòʱ£¬Õ⼸ÃëÖÓʵ¼ÊÉϵÄÒâÒå»á·Ç³£ÖØ´ó¡£tiq]cln/(&& 0c!$~z

¡¡¡¡Áé»îʹÓõѿ¨¶û³Ë»ý:Y{Rl42myF{,{cj

¡¡¡¡¶ÔÓڴ˼¼ÇÉ£¬ÎÒ½«½øÐзdz£ÏêϸµÄ½éÉÜ£¬²¢ÌᳫÔÚijЩÇé¿öÏÂʹÓõѿ¨¶û³Ë»ý¡£³öÓÚijЩԭÒò£¬µÑ¿¨¶û³Ë»ý (CROSS JOIN) Ôâµ½Á˺ܶàÇ´Ô𣬿ª·¢ÈËԱͨ³£»á±»¾¯¸æ¸ù±¾¾Í²»ÒªÊ¹ÓÃËüÃÇ¡£ÔÚÐí¶àÇé¿öÏ£¬ËüÃÇÏûºÄµÄ×ÊÔ´Ì«¶à£¬´Ó¶øÎÞ·¨¸ßЧʹÓᣵ«ÊÇÏñ SQL ÖеÄÈκι¤¾ßÒ»Ñù£¬Èç¹ûÕýȷʹÓã¬ËüÃÇÒ²»áºÜÓмÛÖµ¡£ÀýÈ磬Èç¹ûÄúÏëÔËÐÐÒ»¸ö·µ»ØÃ¿ÔÂÊý¾Ý(¼´Ê¹Ä³Ò»Ìض¨Ô·ݿͻ§Ã»Óж¨µ¥Ò²Òª·µ»Ø)µÄ²éѯ£¬Äú¾Í¿ÉÒԺܷ½±ãµØÊ¹Óõѿ¨¶û³Ë»ý¡£6$|Ai}]S%/L1|6 |wJ

¡¡¡¡ËäÈ»Õâ¿´ÆðÀ´ºÃÏñûʲôÉñÆæµÄ£¬µ«ÊÇÇ뿼ÂÇһϣ¬Èç¹ûÄú´Ó¿Í»§µ½¶¨µ¥(ÕâЩ¶¨µ¥°´Ô·ݽøÐзÖ×é²¢¶ÔÏúÊÛ¶î½øÐÐС¼Æ)½øÐÐÁ˱ê×¼µÄ INNER JOIN£¬ÔòÖ»»á»ñµÃ¿Í»§Óж¨µ¥µÄÔ·ݡ£Òò´Ë£¬¶ÔÓÚ¿Í»§Î´¶©¹ºÈκβúÆ·µÄÔ·ݣ¬Äú²»»á»ñµÃ 0 Öµ¡£Èç¹ûÄúÏëΪÿ¸ö¿Í»§¶¼»æÖÆÒ»¸öͼ£¬ÒÔÏÔʾÿ¸öÔº͸ÃÔÂÏúÊ۶Ôò¿ÉÄÜÏ£Íû´Ëͼ°üÀ¨ÔÂÏúÊÛ¶îΪ 0 µÄÔ·ݣ¬ÒÔ±ãÖ±¹Û±êʶ³öÕâЩÔ·ݡ£Èç¹ûʹÓà Figure 2(×îºóÒ»Ò³) ÖÐµÄ SQL£¬Êý¾ÝÔò»áÌø¹ýÏúÊÛ¶îΪ 0 ÃÀÔªµÄÔ·ݣ¬ÒòΪÔÚ¶¨µ¥±íÖжÔÓÚÁãÏúÊÛ¶î²»»á°üº¬ÈκÎÐÐ(¼ÙÉèÄúÖ»´æ´¢·¢ÉúµÄʼþ)¡£`h 6Vt7Q3tX`5QF

¡¡¡¡Figure 3(×îºóÒ»Ò³)ÖеĴúÂëËäÈ»½Ï³¤£¬µ«ÊÇ¿ÉÒÔ´ïµ½»ñÈ¡ËùÓÐÏúÊÛÊý¾Ý(ÉõÖÁ°üÀ¨Ã»ÓÐÏúÊÛ¶îµÄÔ·Ý)µÄÄ¿±ê¡£Ê×ÏÈ£¬Ëü»áÌáȡȥÄêËùÓÐÔ·ݵÄÁÐ±í£¬È»ºó½«ËüÃÇ·ÅÈëµÚÒ»¸ö TABLE Êý¾ÝÀàÐͱí (@tblMonths) ÖС£ÏÂÒ»²½£¬´Ë´úÂë»á»ñÈ¡ÔÚ¸Ãʱ¼ä¶ÎÄÚÓÐÏúÊÛ¶îµÄËùÓпͻ§¹«Ë¾µÄÃû³ÆÁÐ±í£¬È»ºó½«ËüÃÇ·ÅÈëÁíÒ»¸ö TABLE Êý¾ÝÀàÐͱí (@tblCus-tomers) ÖС£ÕâÁ½¸ö±í´æ´¢ÁË´´½¨½á¹û¼¯Ëù±ØÐèµÄËùÓлù±¾Êý¾Ý£¬µ«Êµ¼ÊÏúÊÛÊýÁ¿³ýÍâ¡£ µÚÒ»¸ö±íÖÐÁгöÁËËùÓÐÔ·Ý(12 ÐÐ)£¬µÚ¶þ¸ö±íÖÐÁгöÁËÕâ¸öʱ¼ä¶ÎÄÚÓÐÏúÊÛ¶îµÄËùÓпͻ§(¶ÔÓÚÎÒÊÇ 81 ¸ö)¡£²¢·Çÿ¸ö¿Í»§ÔÚ¹ýÈ¥ 12 ¸öÔÂÖеÄÿ¸öÔ¶¼¹ºÂòÁ˲úÆ·£¬ËùÒÔ£¬Ö´ÐÐ INNER JOIN »ò LEFT JOIN ²»»á·µ»ØÃ¿¸öÔµÄÿ¸ö¿Í»§¡£ÕâЩ²Ù×÷Ö»»á·µ»Ø¹ºÂò²úÆ·µÄ¿Í»§ºÍÔ·ݡ£~^XTx9 mi?Pa{wT

¡¡¡¡µÑ¿¨¶û³Ë»ýÔò¿ÉÒÔ·µ»ØËùÓÐÔ·ݵÄËùÓпͻ§¡£µÑ¿¨¶û³Ë»ý»ù±¾ÉÏÊǽ«µÚÒ»¸ö±íÓëµÚ¶þ¸ö±íÏà³Ë£¬Éú³ÉÒ»¸öÐм¯ºÏ£¬ÆäÖаüº¬µÚÒ»¸ö±íÖеÄÐÐÊýÓëµÚ¶þ¸ö±íÖеÄÐÐÊýÏà³ËµÄ½á¹û¡£Òò´Ë£¬µÑ¿¨¶û³Ë»ý»áÏò±í @tblFinal ·µ»Ø 972 ÐС£×îºóµÄ²½ÖèÊÇʹÓôËÈÕÆÚ·¶Î§ÄÚÿ¸ö¿Í»§µÄÔÂÏúÊÛ¶î×ܼƸüР@tblFinal ±í£¬ÒÔ¼°Ñ¡Ôñ×îÖÕµÄÐм¯¡£Azw;ePC)s XU~^

¡¡¡¡Èç¹ûÓÉÓڵѿ¨¶û³Ë»ýÕ¼ÓõÄ×ÊÔ´¿ÉÄÜ»áºÜ¶à£¬¶ø²»ÐèÒªÕæÕýµÄµÑ¿¨¶û³Ë»ý£¬Ôò¿ÉÒÔ½÷É÷µØÊ¹Óà CROSS JOIN¡£ÀýÈ磬Èç¹û¶Ô²úÆ·ºÍÀà±ðÖ´ÐÐÁË CROSS JOIN£¬È»ºóʹÓà WHERE ×Ӿ䡢DISTINCT »ò GROUP BY À´É¸Ñ¡³ö´ó¶àÊýÐУ¬ÄÇôʹÓà INNER JOIN »á»ñµÃͬÑùµÄ½á¹û£¬¶øÇÒЧÂʸߵöࡣÈç¹ûÐèҪΪËùÓеĿÉÄÜÐÔ¶¼·µ»ØÊý¾Ý(ÀýÈçÔÚÄúÏ£ÍûʹÓÃÿÔÂÏúÊÛÈÕÆÚÌî³äÒ»¸öͼ±íʱ)£¬ÔòµÑ¿¨¶û³Ë»ý¿ÉÄÜ»á·Ç³£ÓаïÖú¡£µ«ÊÇ£¬Äú²»Ó¦¸Ã½«ËüÃÇÓÃÓÚÆäËûÓÃ;£¬ÒòΪÔÚ´ó¶àÊý·½°¸ÖÐ INNER JOIN µÄЧÂÊÒª¸ßµÃ¶à¡£ #j5bi')Vk\$!d

¡¡¡¡Ê°ÒŲ¹ÁãH - bpj')QI%t|^

¡¡¡¡ÕâÀï½éÉÜÆäËûһЩ¿É°ïÖúÌá¸ß SQL ²éѯЧÂʵij£Óü¼Êõ¡£¼ÙÉèÄú½«°´ÇøÓò¶ÔËùÓÐÏúÊÛÈËÔ±½øÐзÖ×é²¢½«ËûÃǵÄÏúÊÛ¶î½øÐÐС¼Æ£¬µ«ÊÇÄúÖ»ÏëÒªÄÇЩÊý¾Ý¿âÖбê¼ÇΪ´¦Óڻ״̬µÄÏúÊÛÈËÔ±¡£Äú¿ÉÒÔ°´ÇøÓò¶ÔÏúÊÛÈËÔ±·Ö×飬²¢Ê¹Óà HAVING ×Ó¾äÏû³ýÄÇЩδ´¦Óڻ״̬µÄÏúÊÛÈËÔ±£¬Ò²¿ÉÒÔÔÚ WHERE ×Ó¾äÖÐÖ´Ðд˲Ù×÷¡£ÔÚ WHERE ×Ó¾äÖÐÖ´Ðд˲Ù×÷»á¼õÉÙÐèÒª·Ö×éµÄÐÐÊý£¬ËùÒÔ±ÈÔÚ HAVING ×Ó¾äÖÐÖ´Ðд˲Ù×÷ЧÂʸü¸ß¡£HAVING ×Ó¾äÖлùÓÚÐеÄÌõ¼þµÄɸѡ»áÇ¿ÖÆ²éѯ¶ÔÄÇЩÔÚ WHERE ×Ó¾äÖлᱻȥ³ýµÄÊý¾Ý½øÐзÖ×é¡£*ce(}?rGu{oUWQVAla

¡¡¡¡ÁíÒ»¸öÌá¸ßЧÂʵļ¼ÇÉÊÇʹÓà DISTINCT ¹Ø¼ü×Ö²éÕÒÊý¾ÝÐеĵ¥¶À±¨±í£¬À´´úÌæÊ¹Óà GROUP BY ×Ӿ䡣ÔÚÕâÖÖÇé¿öÏ£¬Ê¹Óà DISTINCT ¹Ø¼ü×ÖµÄ SQL ЧÂʸü¸ß¡£ÇëÔÚÐèÒª¼ÆËã¾ÛºÏº¯Êý(SUM¡¢COUNT¡¢MAX µÈ)µÄÇé¿öÏÂÔÙʹÓà GROUP BY¡£ÁíÍ⣬Èç¹ûÄúµÄ²éѯ×ÜÊÇ×Ô¼º·µ»ØÒ»¸öΨһµÄÐУ¬Ôò²»ÒªÊ¹Óà DISTINCT ¹Ø¼ü×Ö¡£ÔÚÕâÖÖÇé¿öÏ£¬DISTINCT ¹Ø¼ü×ÖÖ»»áÔö¼Óϵͳ¿ªÏú¡£t\\t;-Wr*O"kBHN

    ÄúÒѾ­¿´µ½ÁË£¬ÓдóÁ¿¼¼Êõ¶¼¿ÉÓÃÓÚÓÅ»¯²éѯºÍʵÏÖÌØ¶¨µÄÒµÎñ¹æÔò£¬¼¼ÇɾÍÊǽøÐÐһЩ³¢ÊÔ£¬È»ºó±È½ÏËüÃǵÄÐÔÄÜ¡£×îÖØÒªµÄÊÇÒª²âÊÔ¡¢²âÊÔ¡¢ÔÙ²âÊÔ¡£ M €pDiA?nC oB:qU

¡¡¡¡Figure 2 Returning All Customers and Their Sales ?a:Cl=\y&I=Lwyw'
¡¡¡¡set nocount on ryDv€y`m[MYJ L#/n
¡¡¡¡DECLARE @dtStartDate DATETIME, qPd?3}&5 lVG%Mo=
¡¡¡¡@dtEndDate DATETIME, |?Ha=?w[Sv kh"
¡¡¡¡@dtDate DATETIME D=ZD=JraX=mc5UGQ
¡¡¡¡SET @dtEndDate = '5/5/1997' okiv-~cvNry$,#`
¡¡¡¡SET @dtEndDate = DATEADD(DD, -1, CAST(CAST((MONTH(@dtEndDate) + 1) 1^D_ ?ttuM"]Ofw
¡¡¡¡AS VARCHAR(2)) + '/01/' + CAST(YEAR(@dtEndDate) AS VARCHAR(4)) + ' i Xeg}"X:$t/rg Xx*
¡¡¡¡23:59:59' AS DATETIME)) 4,sEX"rPDTGE=;o4\8
¡¡¡¡SET @dtStartDate = DATEADD(MM, -1 * 12, @dtEndDate) }"2PkuHo2{DtX 9V v
¡¡¡¡SELECT CAST(YEAR(o.OrderDate) AS VARCHAR(4)) + '-' + nj]TV{UOph~W
¡¡¡¡CASE QJBj6R5bt)}? E40
¡¡¡¡WHEN MONTH(o.OrderDate) < 10 v}d:LO4oXL||%&M
¡¡¡¡THEN '0' + CAST(MONTH(o.OrderDate) AS VARCHAR(2)) k])R"iN? 4gpHaP
¡¡¡¡ELSE CAST(MONTH(o.OrderDate) AS VARCHAR(2)) Y"Z35]V/ -/{`a
¡¡¡¡END AS sMonth, "t `'cW€ D*[Q-W=
¡¡¡¡c.CustomerID, 5GrV6P -F:vrgFR6
¡¡¡¡c.CompanyName, cJcc`fs$d'l*!)Fs[j$
¡¡¡¡c.ContactName, \U7}b(2W{/#1oW1=
¡¡¡¡SUM(od.Quantity * od.UnitPrice) AS mSales h/owi €"e,"l;-r
¡¡¡¡FROM Customers c +`6@nH@/_nR jE
¡¡¡¡INNER JOIN Orders o ON c.CustomerID = o.CustomerID  N(@@.vaj*5+ y}[
¡¡¡¡INNER JOIN [Order Details] od ON o.OrderID = od.OrderID '@P*u$ gWQ9[\@V?C/
¡¡¡¡WHERE o.OrderDate BETWEEN @dtStartDate AND @dtEndDate P93^i3 k!ChSSO{2
¡¡¡¡GROUP BY +#!+[ZLZ]I@e-&[;LU
¡¡¡¡CAST(YEAR(o.OrderDate) AS VARCHAR(4)) + '-' + e ~SB?,H LGJ55iHo
¡¡¡¡CASE JB 8Nii@b ^s6
¡¡¡¡WHEN MONTH(o.OrderDate) < 10 &A€J0'_l[Ou|CQ
¡¡¡¡THEN '0' + CAST(MONTH(o.OrderDate) AS VARCHAR(2)) ,ocE}w| q?IgX't
¡¡¡¡ELSE CAST(MONTH(o.OrderDate) AS VARCHAR(2)) HH[#"UgcV\`mry\#r-?
¡¡¡¡END, /|eE*5*j`JvD
¡¡¡¡c.CustomerID, VL@?%d4Nrg@q?S\
¡¡¡¡c.CompanyName, :Vo6U?+KQ5?5sRI
¡¡¡¡c.ContactName I=vO&C6&TZM} aV,H
¡¡¡¡ORDER BY pw~NW B}eQ! nABg5
¡¡¡¡c.CompanyName, mTo 5[3{$'L|a.Jl
¡¡¡¡sMonth Q)#jP`S yY/i@0O
¡¡¡¡Figure 3 Cartesian Product at Work "mWu_NGwsx7dOY+^e+
¡¡¡¡DECLARE @tblMonths TABLE (sMonth VARCHAR(7)) ot. FlcY!!7 VF
¡¡¡¡DECLARE @tblCustomers TABLE ( CustomerID CHAR(10), 4C&(~aZ}}xpGH?
¡¡¡¡CompanyName VARCHAR(50), r oNE=pah\"Et5?CBF
¡¡¡¡ContactName VARCHAR(50)) $#?v')47~|]t%
¡¡¡¡DECLARE @tblFinal TABLE ( sMonth VARCHAR(7), lI61$@1L4)#1V0
¡¡¡¡CustomerID CHAR(10), #=/SK4# €Zfz}{bx
¡¡¡¡CompanyName VARCHAR(50), )2_7kdIk 6K [b_/d
¡¡¡¡ContactName VARCHAR(50), tLDYd; C"=?^Kt%(
¡¡¡¡mSales MONEY) BW]0_Uh0GFc=;R#hx
¡¡¡¡DECLARE @dtStartDate DATETIME, {'GDMVMIk:`$]i
¡¡¡¡@dtEndDate DATETIME, 1 xx4:jm5B$=4%
¡¡¡¡@dtDate DATETIME, DoNmXRipjhhV6-= z
¡¡¡¡@i INTEGER " 74#f'sppB)VGE
¡¡¡¡SET @dtEndDate = '5/5/1997' ,N|j9zX/Oi?w5P6@)
¡¡¡¡SET @dtEndDate = DATEADD(DD, -1, CAST(CAST((MONTH(@dtEndDate) + 1) AS 3B$3MDUS{xnr\7s
¡¡¡¡VARCHAR(2)) + '/01/' + CAST(YEAR(@dtEndDate) AS VARCHAR(4)) + ' 9&o5vQ)qAlkfb{q
¡¡¡¡23:59:59' AS DATETIME)) 2| O =%U-%;y.j]
¡¡¡¡SET @dtStartDate = DATEADD(MM, -1 * 12, @dtEndDate) b-]PB| W2gn='
¡¡¡¡¡ª Get all months into the first table b7;_?9T}BHn.NjZ9l*
¡¡¡¡SET @i = 0 Ds XOMaOx@[1S9
¡¡¡¡WHILE (@i < 12) 6XCGA9:: $NA'cwB~(
¡¡¡¡BEGIN j]q&W$K=}Gp,PQ!q
¡¡¡¡SET @dtDate = DATEADD(mm, -1 * @i, @dtEndDate) n67:R9m+!$ Y]'
¡¡¡¡INSERT INTO @tblMonths SELECT CAST(YEAR(@dtDate) AS VARCHAR(4)) + '-' + €bazu(98^Za2
¡¡¡¡CASE rg)-o7Nt`h(-+
¡¡¡¡WHEN MONTH(@dtDate) < 10 1{;*i?].DwvG X`7
¡¡¡¡THEN '0' + CAST(MONTH(@dtDate) AS VARCHAR(2)) =-Y_(P=fLk/U@e\y
¡¡¡¡ELSE CAST(MONTH(@dtDate) AS VARCHAR(2)) us Z]745vYyFAY
¡¡¡¡END AS sMonth L= pG?*%QU/ 0 ?
¡¡¡¡SET @i = @i + 1 C=}N#el)hGLo(t G
¡¡¡¡END oIY 18Lnedk:;$|5e{
¡¡¡¡¡ª Get all clients who had sales during that period into the "y" table  \8#Xgj-{df: g?l_L
¡¡¡¡INSERT INTO @tblCustomers L5`o]~1NmeT-JU
¡¡¡¡SELECT DISTINCT LA"{WO.0DPngq*W?M
¡¡¡¡c.CustomerID, bKVq%Ow$jUbM9"
¡¡¡¡c.CompanyName, ;r]"YH^Y(g^5u|K
¡¡¡¡c.ContactName R18^[[€zFN'
¡¡¡¡FROM Customers c Bec 1uF@"Ao9v,!t{
¡¡¡¡INNER JOIN Orders o ON c.CustomerID = o.CustomerID jhQ!ib/QN=6/gRr#
¡¡¡¡WHERE o.OrderDate BETWEEN @dtStartDate AND @dtEndDate 17 }RhgG+O&5uly4
¡¡¡¡INSERT INTO @tblFinal 2 9~Sb%B/P-+m,$?}M
¡¡¡¡SELECT m.sMonth, x.C:+ri\AqUEU]
¡¡¡¡c.CustomerID, zk.Vg|)W%F|ik'hHW
¡¡¡¡c.CompanyName, zJO6QM"@,L,!azU
¡¡¡¡c.ContactName, )YpOr5=n\hmwp,
¡¡¡¡0 S@lK];w€mE6mIk:$|f
¡¡¡¡FROM @tblMonths m CROSS JOIN @tblCustomers c '_bBznp'F65'{ ?I3
¡¡¡¡UPDATE @tblFinal SET 2 mI*3!2€I2'O{`l2]
¡¡¡¡mSales = mydata.mSales :7,OV P0m:€|(8H
¡¡¡¡FROM @tblFinal f INNER JOIN x0H0zk88#SV4_
¡¡¡¡( &%E@;ty&6s(`g KM
¡¡¡¡SELECT c.CustomerID, B?Xf=urz~QI8%*O{
¡¡¡¡CAST(YEAR(o.OrderDate) AS VARCHAR(4)) + '-' + V=zEWd,`:o0GL\gO
¡¡¡¡CASE WHEN MONTH(o.OrderDate) < 10 S +)maY+c. i?{+"
¡¡¡¡THEN '0' + CAST(MONTH(o.OrderDate) AS VARCHAR(2)) KAP "/sX&ZLjl'- ]
¡¡¡¡ELSE CAST(MONTH(o.OrderDate) AS VARCHAR(2)) *S*8o[@62P;Hoe@=
¡¡¡¡END AS sMonth, A€s@:5o:€=73
¡¡¡¡SUM(od.Quantity * od.UnitPrice) AS mSales Pd-}c*?,"w*v|`(kmA
¡¡¡¡FROM Customers c U=^+YFL `H|y38
¡¡¡¡INNER JOIN Orders o ON c.CustomerID = o.CustomerID uJ?8"_MKXY\y%=Xo
¡¡¡¡INNER JOIN [Order Details] od ON o.OrderID = od.OrderID nj[3zv(9`xC
¡¡¡¡WHERE o.OrderDate BETWEEN @dtStartDate AND @dtEndDate }x'r^,ln ,xbn@f9(
¡¡¡¡GROUP BY z#`6g/cZK+DV
¡¡¡¡c.CustomerID, Oy1EN|K'67]MRWCg=D
¡¡¡¡CAST(YEAR(o.OrderDate) AS VARCHAR(4)) + '-' + l51nx8BS2;RUCd`
¡¡¡¡CASE WHEN MONTH(o.OrderDate) < 10 @)Vr+q [ C(Rg)5$:
¡¡¡¡THEN '0' + CAST(MONTH(o.OrderDate) AS VARCHAR(2)) Lus= ?q,rhc^RAL
¡¡¡¡ELSE CAST(MONTH(o.OrderDate) AS VARCHAR(2)) xO\7G8ZAbVjw.BX8h
¡¡¡¡END ?jCx8'j[Pq $g=
¡¡¡¡) mydata on f.CustomerID = mydata.CustomerID AND f.sMonth = 5YdT N }#^_#w1u}
¡¡¡¡mydata.sMonth WTZ{sl"[_p`b:R
¡¡¡¡SELECT f.sMonth, #Oz=j7:w;M?,J5Bj
¡¡¡¡f.CustomerID, _25jk B|#IBg@y=,a
¡¡¡¡f.CompanyName, z|'HXH0 -rBz d s7=
¡¡¡¡f.ContactName, e"~Y*ab[i41n;=
¡¡¡¡f.mSales @rg=pPw(9Ve|5~/H
¡¡¡¡FROM @tblFinal f R/;j=€|~uYPmB?yr
¡¡¡¡ORDER BY `ds -?sI \P'`*
¡¡¡¡f.CompanyName, 6q"AD6*F8ylu-5"
¡¡¡¡f.sMonth
=O&4lQR:Z0b'_\M;E`

[°æÈ¨¹éÔ­×÷Õß¼°coolcxm¹²Í¬ÓµÓУ¬×ªÔØÇë×¢Ã÷³ö´¦]


³£¼ûÎÊÌâ | ¹ØÓÚÎÒÃÇ | ¸¶¿î·½Ê½ | ËÍ»õ·½Ê½ | ÁªÏµÎÒÃÇ |


Copyright © 2007 www.375168.com. All Rights Reserved.°æÈ¨ËùÓУºÉÌÆôóÒ×ÍøÂ繺ÎïÖÐÐÄ|ÏÃÃÅËÙ´ïÈí¼þ|ÏÃÃÅËÙ´ïÈí¼þ¶ÀÁ¢ÔËÓªÉÌ|ËÙ´ïÈí¼þ¾­ÏúÉÌ|¹ÜÀíÈí¼þ|²ÆÎñÈí¼þ|ERP|ÏÃÃÅÍøÕ¾½¨Éè
¿Í»§·þÎñÈÈÏߣº(0592)8636830
¿Í»§·þÎñÓÊÏ䣺cxm76@163.com ´«Õ棺(0592)2022582
¹«Ë¾ÏêϸµØÖ·£ºÏÃÃÅÊÐÓýÇà·31ºÅ902ÊÒ  Óʱࣺ361000
ÃöICP±¸07042975ºÅ