2008-1-9 13:50
wenshaohan
表的设计??求助??
有表A与表B,用SQL语句得出表C:
如下:
表A
incount content
4 ABC
2 CDF
3 DDA
表B
phone ismember content
138 1 ABC
133 1 ABC
131 1 CDF
132 0 DDA
139 1 DDA
130 0 DDA
135 0 CDF
136 0 ABC
137 1 ABC
表C
incount content 会员数 非会员数
4 ABC 3 1
2 CDF 1 1
3 DDA 1 2
注:B表中的字段当ismember=1 时代表会员
ismember=0时代表非会员
2008-8-19 09:43
lin-yh
--创建表Taba
Create Table Taba
(incount Number(20)
,content Varchar2(50)
);
Insert Into Taba Values (4, 'ABC');
Insert Into Taba Values (2, 'CDF');
Insert Into Taba Values (3, 'DDA');
-----------------------------------------------------------------
--创建表Taba
Create Table tABB
(pHONE Number(20)
,ISMEMBER Number(1)
,Content Varchar2(50)
);
Insert Into Tabb Values (138, 1, 'ABC');
Insert Into Tabb Values (133, 1, 'ABC');
Insert Into Tabb Values (131, 1, 'CDF');
Insert Into Tabb Values (132, 0, 'DDA');
Insert Into Tabb Values (139, 1, 'DDA');
Insert Into Tabb Values (130, 0, 'DDA');
Insert Into Tabb Values (135, 0, 'CDF');
Insert Into Tabb Values (136, 0, 'ABC');
Insert Into Tabb Values (137, 1, 'ABC');
-----------------------------------------------------------------
Select Ta.Incount
,Ta.Content
,Count(Case When Tb.Ismember=1 Then 1 Else Null End ) Ismembership
,Count(Case When Tb.Ismember=0 Then 1 Else Null End ) NoIsmembership
From Tabb Tb, Taba Ta
Where Tb.Content = Ta.Content
Group By Ta.Incount,Ta.Content
-----------------------------------------------------------------
INCOUNT CONTENT ISMEMBERSHIP NOISMEMBERSHIP
4 ABC 3 1
2 CDF 1 1
3 DDA 1 2