Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

sqlÐÐתÁÐ


дһ¸ö´æ´¢¹ý³Ì£¬½«±íÒ»°´ÕÕ±í¶þµÄÐÎʽ½øÐвéѯ¡£
²Ö¿âÃû³Æ ÉÌÆ·Ãû³Æ ÊýÁ¿
A
S001 12
A S002 17
A
S003 10
B S001 21
B
S002 5
B S003 0

C S001 100
C S002 11
C S003 25
(±íÒ»)
ÉÌ
Æ·Ãû³Æ ×Ü¿â´æ A B C
S001 133 12 21 100
S002 33 17 5 11
S003 35 10 0
25
£¨±í¶þ£©
create

table
tb(²Ö¿âÃû³Æ
varchar
(
10
),ÉÌÆ·Ãû³Æ
varchar
(
10
),ÊýÁ¿
int
)
insert

into
tb
values
(
'
A
'
,
'
S001
'
,
12
)
insert

into
tb
values
(
'
A
'
,
'
S002
'
,
17
)
insert

into
tb
values
(
'
A
'
,
'
S003
'
,
10
)
insert

into
tb
values
(
'
B
'
,
'
S001
'
,
21
)
insert

into
tb
values
(
'
B
'
,
'
S002
'
,
5
)
insert

into
tb
values
(
'
B
'
,
'
S003
'
,
0
)
insert

into
tb
values
(
'
C
'
,
'
S001
'
,
100
)
insert

into
tb
values
(
'
C
'
,
'
S002
'
,
11
)
insert

into
tb
values
(
'
C
'
,
'
S003
'
,
25
)
go
--
Èç¹ûÖ»ÓÐA£¬B£¬C£¬ÔòʹÓþ²Ì¬SQL¡£
select
ÉÌÆ·Ãû³Æ,

sum
(ÊýÁ¿) ×Ü¿â´æ,

sum
(
case
²Ö¿âÃû³Æ
when

'
A
'

then
ÊýÁ¿
else

0

end
)
[
A
]
,

sum
(
case
²Ö¿âÃû³Æ
when

'
B
'

then
ÊýÁ¿
else

0

end
)
[
B
]
,

sum
(
case
²Ö¿âÃû³Æ
when

'
C
'

then
ÊýÁ¿
else

0

end
)
[
C
]
from
tb
group

by
ÉÌÆ·Ãû³Æ
/*
ÉÌÆ·Ãû³Æ ×Ü¿â´æ A B C
---------- ----------- ----------- ----------- -----------
S001 133 12 21 100
S002 33


Ïà¹ØÎĵµ£º

SQL ÃæÊÔÌâ Ò»

ÌâĿһ£º
 ÓÐÁ½ÕÅ±í£º²¿Ãűídepartment  ²¿ÃűàºÅdept_id  ²¿ÃÅÃû³Ædept_name            
               Ô±¹¤±íemployee     Ô±¹¤±àºÅemp_id ......

ʵÏÖ¶àÐкϲ¢Ò»ÐеÄSQLд·¨

[ORACLE]
ÏîÄ¿ÖÐÓöµ½Ò»¸öÐèÇó£¬ÐèÒª½«¶àÐкϲ¢ÎªÒ»ÐС£
±í½á¹¹ÈçÏ£º
NAME                            Null           ......

ʵÏÖ¶àÐкϲ¢Ò»ÐеÄSQL [MSSQL2005]д·¨

--1. ´´½¨±í£¬Ìí¼Ó²âÊÔÊý¾Ý
CREATE TABLE tb(id int, [value] varchar(10))
INSERT tb SELECT 1, 'aa'
UNION ALL SELECT 1, 'bb'
UNION ALL SELECT 2, 'aaa'
UNION ALL SELECT 2, 'bbb'
UNION ALL SELECT 2, 'ccc'
--SELECT * from tb
/**//*
id value
----------- ----------
1 aa
1 bb
2 aaa ......

SqlÓÅ»¯·½·¨

ÎÒÃÇÒª×öµ½²»µ«»áдSQL,»¹Òª×öµ½Ð´³öÐÔÄÜÓÅÁ¼µÄSQL,ÒÔÏÂΪ±ÊÕßѧϰ¡¢ÕªÂ¼¡¢²¢»ã×ܲ¿·Ö×ÊÁÏÓë´ó¼Ò·ÖÏí£¡
£¨1£©      Ñ¡Ôñ×îÓÐЧÂʵıíÃû˳Ðò(Ö»ÔÚ»ùÓÚ¹æÔòµÄÓÅ»¯Æ÷ÖÐÓÐЧ)£º
ORACLE µÄ½âÎöÆ÷°´ÕÕ´ÓÓÒµ½×óµÄ˳Ðò´¦Àífrom×Ó¾äÖеıíÃû£¬from×Ó¾äÖÐдÔÚ×îºóµÄ±í(»ù´¡±í driving table)½«±»×îÏÈ´¦Àí£¬ÔÚfrom× ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ