Çó½ÌÁ½¸öSQLÃæÊÔÌ⣡ - MS-SQL Server / Ó¦ÓÃʵÀý
Òò±¾ÈËÎÞ»úÆ÷£¬²âÊÔ¹ÊÏ£ÍûÄÜ+ÉϲâÊÔͼ£¡
ÌâÄ¿1£ºÏÔʾ¸÷Ãſγ̵Ŀ¼³¡ÊýÄ¿ºÍ¿ÉÈÝÄɵĿ¼Éú
¸÷Êý¾Ý±í½á¹¹ÈçÏ£º
±í1£º¿Î³Ì±í TC
cid ¿Î³Ìid
cname ¿Î³ÌÃû
Ctype ¿¼ÊÔ·½Ê½
±í2£º¿¼³¡±í TR
Roomed ¿¼³¡id
address ¿¼³¡µØÖ·
Contain ÈÝÄÉÈËÊý
±í3£º¿¼³¡¿Î³Ì¶ÔÓ¦±í TCR
cid ¿Î³Ìid
roomId ¿¼³¡id
ÌâÄ¿2£ºÏÔʾ¿¼ÊÔ°²ÅÅÓгåÍ»µÄ¿¼Éú¼°¿¼ÊԿγ̺Íʱ¼ä
ËùνÓгåÍ»£¬¾ÍÊÇÖ¸Ò»¸ö¿¼Éúͬһʱ¼ä£¨»ò¿¼ÊÔʱ¼äÓн»¼¯£©°²ÅÅÁËÁ½Ãż°Á½ÃÅÒÔÉϵĿ¼ÊÔ
±í1£º¿Î³Ì±í TC
cid ¿Î³Ìid
cname ¿Î³ÌÃû
Ctype ¿¼ÊÔ·½Ê½
±í2£º¿¼ÊÔ±íTE
eId ¿¼ÊÔid
cid ¿Î³Ìid
beginTime ¿ªÊ¼Ê±¼ä
endTime ½áÊøÊ±¼ä
±í3£º¿¼ÊÔ°²ÅűíTSE
studentId ѧÉúid
examId ¿¼ÊÔid
ûÈ˽ӷÖѽ£¡£¡£¡£¡
(1) select c.name, count(distinct c.roomid), sum(contain) from tc a inner join tcr b on a.cid=b.cid inner join tr c on b.roomid=c.roomid group by a.cname
(2) SQL code:
select
a.studentid, a.cid. a.cname, b.cid, b.cname
from
(
select
a.studentid, c.cid, c.cname, b.begintime, b.endtime
from tse a inner join te b on
a.examid=b.eid
inner join tc c on
b.cid=c.cid
) a inner join
(
select
a.studentid, c.cid, c.cname, b.begintime, b.endtime
from tse a inner join te b on
a.examid=b.eid
inner join tc c on
Ïà¹ØÎÊ´ð£º
ÎÒÒ»¸öÏîÄ¿£¬Óиö²åÈë²Ù×÷£¬¾ßÌåÊÇÕâÑùµÄ£º
ÎÒÓнø»õÐÅÏ¢±í¡£ÔÚ³ö»õʱѡÔñÏàÓ¦µÄ½ø»õÐÅÏ¢£¬ÊäÈëÊýÁ¿£¬Ñ¡Ôñ²¿Ãź󣬵㱣´æ°´Å¥£¬ÓÉÓÚÍøÂçÑÓʱ£¬µãÒ»ÏÂûÓз´Ó³£¬ÓÚÊÇÓû§¾ÍÓÖµãһϣ¬µ¼ÖÂÒ»´Î²åÈëÁËÁ½Ìõ¼Ç¼:
Àý£º
......
ÎÒÓÐÒ»¸ö±í£¬½á¹¹ÊÇÕâÑù¡£
ת³ö µ¥Î» תÈ뵥λ ±ÊÊý ½ð¶î
date(Ö÷) outid(Ö÷) inid(Ö÷) num amt
2009 1 2 1 500 Ϊ 1 µ¥Î» ÔÚ2009Ä ......
Çë½Ì¸ßÊÖ£º
ÒÔÏÂÊÇÊý¾Ý¿âÖеÄÈýÌõ¼Ç¼£¬Ó¢ÎÄΪ×Ö¶ÎÃû³Æ
id planname TaskBeginTime Status
329 2010Äê03 ......
Çó¸övbÖеÄsqlÓï¾äµÄд·¨£¬´ÎsqlÓï¾äµÄÓ÷¨ÊÇ·ÖÒ³³ÌÐò
ÎÒдµÄÈçÏ£ºÆäÖÐAÊÇÓÃÀ´½ÓÊÕÿҳÏÔʾµÄ¼Ç¼µÄÌõÊý£¬BÊÇÓÃÀ´½ÓÊÕÏÔʾµÄµ±Ç°µÄÒ³Ãæ.
sqltext="select top A * from log where id not in(select top ( ......
´úÂ룺select sum(stptime) as stptime from jl stptimeÊÇintÀàÐ굀 ÎÒÔÚ²éѯ·ÖÎöÆ÷ÖÐÔËÐÐÊÇÕý³£µÄ µ«ÊǷŵ½³ÌÐòÖоÍÌáʾ´íÎ󣺡®jl.id¡¯ÔÚÑ¡ÔñÁбíÖÐÎÞЧ£¬ÒòΪ¸ÃÁÐδ°üº¬ÔھۺϺ¯ÊýÖУ¬²¢ÇÒûÓÐGroup ......