SQL Server 2005ÖеÄT SQLÔöÇ¿D
µÝ¹éµÄͨÓñí±í´ïʽ
µÝ¹éµÄCTEÊǸù¾ÝÖÁÉÙÁ½¸ö²éѯ£¨»òÕß³ÆÎªÁ½¸ö³ÉÔ±£©¹¹½¨µÄ£¬Ò»¸öÊǷǵݹé²éѯ£¬Ò²³ÉΪ¹Ì¶¨³ÉÔ±£¬Ö»Äܵ÷ÓÃÒ»´Î£¬ÁíÍâÒ»¸öÊǵݹé²éѯ£¬Ò²³ÉΪµÝ¹é³ÉÔ±£¨RM£©£¬¿ÉÒÔ·´¸´µ÷Óã¬Ö±µ½²éѯ²»ÔÙ·µ»ØÐС£²éѯÓÉUNION ALLÔËËã·ûÁ¬½ÓΪһ¸öµ¥¶ÀµÄCTE¡£
--ʹÓõݹéµÄͨÓñí±í´ïʽ
GO
CREATE TABLE CarParts
(
CarID INT NOT NULL,
Part VARCHAR(15),
SubPart VARCHAR(15),
Qty INT
)
GO
INSERT CarParts VALUES (1, 'Body', 'Door', 4)
INSERT CarParts VALUES (1, 'Body', 'Trunk Lid', 1)
INSERT CarParts VALUES (1, 'Body', 'Car Hood', 1)
INSERT CarParts VALUES (1, 'Door', 'Handle', 1)
INSERT CarParts VALUES (1, 'Door', 'Lock', 1)
INSERT CarParts VALUES (1, 'Door', 'Window', 1)
INSERT CarParts VALUES (1, 'Body', 'Rivets', 1000)
INSERT CarParts VALUES (1, 'Door', 'Rivets', 100)
INSERT CarParts VALUES (1, 'Door', 'Mirror', 1)
GO
SELECT * from CarParts
GO
WITH CarPartsCTE(SubPart, Qty)
AS
(
-- ¹Ì¶¨³ÉÔ± (AM):
-- SELECT²éѯÎÞÐè²Î¿¼CarPartsCTE
SELECT SubPart, Qty
from CarParts
WHERE Part = 'Body'
UNION ALL
-- µÝ¹é³ÉÔ± (RM):
-- SELECT²éѯ²Î¿¼CarPartsCTE
SELECT CarParts.SubPart, CarPartsCTE.Qty * CarParts.Qty
from CarPartsCTE
INNER JOIN CarParts ON CarPartsCTE.SubPart = CarParts.Part
WHERE CarParts.CarID = 1
)
-- Íⲿ²éѯ
SELECT SubPart, SUM(Qty) AS TotalNUM
from CarPartsCTE
GROUP BY SubPart
Ïà¹ØÎĵµ£º
Èç¹ûÄúÊý¾Ý¿âϵͳ°²×°ÔÚϵͳÅÌ£¨±ÈÈç C ÅÌ£©£¬ÓÉÓÚ C ÅÌÈÝÒ×Êܲ¡¶¾ÇÖº¦£¬ÄúÒ²ÐíÏ£ÍûÄúµÄÊý¾Ý´æ·ÅÔÚ·ÇϵͳÅÌ£¨±ÈÈç D ÅÌ£©£¬Òª×öµÄÕâµãºÜ¼òµ¥£¬Äú²¢²»ÐèÒªÖØ×°Êý¾Ý¿â£¬Ö»Òª°ÑÊý¾Ý“·ÖÀ딣¬È»ºó½«Ïà¹ØÎļþÒÆ¶¯µ½ D Å̵Äij¸öĿ¼£¬½Ó×Å“¸½¼Ó”Êý¾Ý¿â¼´¿É¡£
SQL Server 2000ÔÊÐí·ÖÀëÊý¾Ý¿âµÄÊý¾ÝºÍÊÂÎñÈ ......
SQL³£ÓÃÓï¾ä
SQLÓï¾äÏÈǰдµÄʱºò£¬ºÜÈÝÒ×°ÑÒ»Ð©ÌØÊâµÄÓ÷¨Íü¼Ç£¬ÎÒÌØ´ËÕûÀíÁËÒ»ÏÂSQLÓï¾ä²Ù×÷¡£
Ò»¡¢»ù´¡
1¡¢ËµÃ÷£º´´½¨Êý¾Ý¿â
CREATE DATABASE database-name
2¡¢ËµÃ÷£ºÉ¾³ýÊý¾Ý¿â
drop database dbname
3¡¢ËµÃ÷£º±¸·Ýsql server
--- ´´½¨ ±¸·ÝÊý¾ÝµÄ device
USE master
EXEC sp_addumpdevice 'disk ......
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:
......
¿âλ »õÎï±àºÅ ¿â´æÊý
1 0101 50
1 0102 60
1 0103 50
2 0101 90
2 0103 100
2 0111 30
3 0101 12 ......
SQL SERVER Êý¾Ý¿âÁ´½Ó·þÎñÆ÷×ܽá
ǰ¶Îʱ¼ä£¬¹«Ë¾µÄÏîÄ¿¿ª·¢Óõ½C/S¡¢B/SÁ½Öּܹ¹¡£CS²¿·ÖÒòΪÊý¾ÝµÄ±£ÃÜÐԺͰ²È«ÐÔ£¬²ÉÓÃSQL SERVER 2000£¨ºóÀ´Ëæ×ÅÈí¼þ°æ±¾Éý¼¶£¬²ÉÓÃSQL Server 2005£©¾ÖÓòÍøÂç¡£B/S²¿·Ö²ÉÓÃOracle9.2Êý¾Ý¿â¡£Á½¸ö²¿·ÖÎïÀí¸ôÀ룬¶¨Ê±Í¨¹ýÍøÂçÇл»Æ÷½øÐÐÍøÂçÇл»ÒÔÍê³ÉÊý¾Ý½»»»¡£
......