在下面的情况下sum要如何用?

ccssme 2003-10-20 02:20:05
(select MemberID,Count(*) num from Replies group by Replies.MemberID)
union
(select MemberID,Count(*) num from Topics group by Topics.MemberID)
通过上面的语句取得下面的表
MemberID num
1 3
1 2
2 1

我要得到下面的表
MemberID num
1 5
2 1
我要怎么办??

...全文
43 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
orcale 2003-10-23
  • 打赏
  • 举报
回复
select Memberid,sum(num) as num from ((select MemberID,Count(*) num from Replies group by Replies.MemberID)
union
(select MemberID,Count(*) num from Topics group by Topics.MemberID)) a
group by a.MemberID
lvltt 2003-10-23
  • 打赏
  • 举报
回复
SELECT num
FROM (
SELECT Replies.MemberID,Replies.ReplyID,T.num
FROM Replies LEFT JOIN
(select MemberID,Sum(num) AS num
from(
select MemberID,Count(*) num from Replies group by Replies.MemberID
union
select MemberID,Count(*) num from Topics group by Topics.MemberID) as A
group by MemberID) T
ON Replies.MemberID = T.MemberID ) R
WHERE Forums_Replies.ReplyID = R.ReplyID) AS Num
lijinqiang 2003-10-20
  • 打赏
  • 举报
回复
SELECT MemberID, SUM(num) FROM (
(select MemberID,Count(*) num from Replies group by Replies.MemberID)
union
(select MemberID,Count(*) num from Topics group by Topics.MemberID))TEMPTABLE
GROUP BY MemberID
ccssme 2003-10-20
  • 打赏
  • 举报
回复
yujohny(踏网无痕) :
在用你给的
select memberID,sum(num) num from
(
(select MemberID,Count(*) num from Replies group by Replies.MemberID)
union
(select MemberID,Count(*) num from Topics group by Topics.MemberID)
) A
group by MemberID

语句当
MemberID num
1 3
1 3
2 1

会得到下面的表,而这时当MemberID=1时num应该为6而不是为3???
MemberID num
1 3
2 1
ccssme 2003-10-20
  • 打赏
  • 举报
回复
是我贴上来时改错的,本地没有错,谢谢,除去这个原因还有什么地方有错呢?

(SELECT num
FROM (SELECT Replies.MemberID,Replies.ReplyID,T.num
FROM Replies LEFT JOIN
(select MemberID,Sum(num) AS num from(
(select MemberID,Count(*) num from Replies group by Replies.MemberID)
union
(select MemberID,Count(*) num from Topics group by Topics.MemberID)) as A
group by MemberID) T
ON Replies.MemberID = T.MemberID) R
WHERE Replies.ReplyID = R.ReplyID) AS Num
dafu71 2003-10-20
  • 打赏
  • 举报
回复
select MemberID, sum(num) as num from (
(select MemberID,Count(*) num from Replies group by Replies.MemberID)
union
(select MemberID,Count(*) num from Topics group by Topics.MemberID)
) as tmp group by MemberID
aierong 2003-10-20
  • 打赏
  • 举报
回复



你的连接条件写错了把
你是Replies和t表连接
怎么是ON Forums_Replies.MemberID = T.MemberID







SELECT num
FROM (
SELECT Replies.MemberID,Replies.ReplyID,T.num
FROM Replies LEFT JOIN
(select MemberID,Sum(num) AS num
from(
select MemberID,Count(*) num from Replies group by Replies.MemberID
union
select MemberID,Count(*) num from Topics group by Topics.MemberID) as A
group by MemberID) T
ON Replies.MemberID = T.MemberID ) R
WHERE Forums_Replies.ReplyID = R.ReplyID) AS Num
ccssme 2003-10-20
  • 打赏
  • 举报
回复

报的是GROUP BY子句出错
aierong 2003-10-20
  • 打赏
  • 举报
回复

select MemberID,sum(num) num
from (
select MemberID,Count(*) num
from Replies
group by Replies.MemberID
union
select MemberID,Count(*) num
from Topics
group by Topics.MemberID)) a
group by MemberID
ccssme 2003-10-20
  • 打赏
  • 举报
回复

(SELECT num
FROM (SELECT Replies.MemberID,Replies.ReplyID,T.num
FROM Replies LEFT JOIN
(select MemberID,Sum(num) AS num from(
(select MemberID,Count(*) num from Replies group by Replies.MemberID)
union
(select MemberID,Count(*) num from Topics group by Topics.MemberID)) as A
group by MemberID) T
ON Forums_Replies.MemberID = T.MemberID) R
WHERE Forums_Replies.ReplyID = R.ReplyID) AS Num

这一句是上面那一句的扩展,其中R表为
MemberID ReplyID num
1 134 5
1 135 5
2 136 4
可是 (Select num from (。。。)R where Replies.ReplyID=R.ReplyID)AS num
就报错,什么地方错了呢?
jastion 2003-10-20
  • 打赏
  • 举报
回复
CREATE table aa (a varchar(10) ,b int)
insert into aa values('1',1)
insert into aa values('1',2)
insert into aa values('1',3)
insert into aa values('2',2)
insert into aa values('2',3)

CREATE table bb (a varchar(10) ,b int)
insert into bb values('1',4)
insert into bb values('1',5)
go
--創建視圖
CREATE View v_aabb
as
select a,sum(b) as b from aa group by a
union
select a,sum(b) as b from bb group by a
go
select a,sum(b) as b from v_aabb group by a
yujohny 2003-10-20
  • 打赏
  • 举报
回复
select memberID,sum(num) num from
(
(select MemberID,Count(*) num from Replies group by Replies.MemberID)
union
(select MemberID,Count(*) num from Topics group by Topics.MemberID)
) A
group by MemberID
welyngj 2003-10-20
  • 打赏
  • 举报
回复
select MemberID,sum(num) from
((select MemberID,Count(*) num from Replies group by Replies.MemberID)
union
(select MemberID,Count(*) num from Topics group by Topics.MemberID)) a group by
memberid
txlicenhe 2003-10-20
  • 打赏
  • 举报
回复
Select memberID,sum(num) as num from
(
(select MemberID,Count(*) num from Replies group by Replies.MemberID)
union
(select MemberID,Count(*) num from Topics group by Topics.MemberID)
) temp
group by MemberID

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧