表结构和数据如下所示:tb1pid tid money
1 1 4.5
2 2 4
3 2 4
4 3 5.5
5 3 5.5
6 4 4需要求tid不重复记录money的和,也就是pid为4.5+4+5.5+4=19
1 1 4.5
2 2 4
3 2 4
4 3 5.5
5 3 5.5
6 4 4需要求tid不重复记录money的和,也就是pid为4.5+4+5.5+4=19
解决方案 »
- 存储过程的问题
- .\SQLEXPRESS,点后面什么意思
- 2点前 在线等待!delphi osql 建表参数问题!主要是参数怎么写,最好举例!
- 请问对sql2005来说,有没有象P/LSql那样灵活操作数据库的工具啊?
- 用没有用于sqlserver的类似SQL Tuner的优化器
- Win2000 重装后客户端发生对象名无效错误
- 高分请教,执行存储过程后,老引起超时错误!
- 关于2005或2008中的 CTE 使用问题?
- 访问SqlServer时需要先登录服务器windows帐号怎么会事儿?(急)
- sqlserver 我想让一个表的第一列自动编号?????
- SQL SERVER 不能注册?
- 学习数据库无从下手!请指点鄙人!!!!
tid,
SUM([money]) As [money]
From
(Select Distinct tid, [money] From tb1) A
Group By
tid
看錯了Select
SUM([money]) As [money]
From
(Select Distinct tid, [money] From tb1) A--或者Select
SUM([money]) As [money]
From
(Select tid, [money] From tb1 Group By tid, [money]) A
1 1 A 1 aa 4.5
2 2 B 1 aa 4
3 2 B 1 aa 4
4 2 B 2 bb 4
5 3 C 2 bb 5.5
6 3 C 2 bb 5.5
7 4 D 2 bb 4tbttid uname
1 A
2 B
3 C
4 D
5 E
uid uname
1 aa
2 bb
3 cc
bb 4+4.5+4=13.5
FROM (SELECT DISTINCT A.tid,A.uid,C.uname[money] FROM tbp AS A LEFT JOIN tbt AS B ON A.tid = B.tid LEFT JOIN tpu AS C ON A.uid = C.uid) AS DLEFT JOIN tup AS E ON D.uid = E.uid
GROUP BY uname试一下行不行
FROM (SELECT DISTINCT A.tid,A.uid,C.uname[money] FROM tbp AS A LEFT JOIN tbt AS B ON A.tid = B.tid LEFT JOIN tpu AS C ON A.uid = C.uid) AS DLEFT JOIN tpu AS E ON D.uid = E.uid
GROUP BY E.uname
上一个错了不是tup 是 tpu
FROM (SELECT DISTINCT A.tid,A.uid,A.[money] FROM tbp AS A
LEFT JOIN tbt AS B ON A.tid = B.tid
LEFT JOIN tpu AS C ON A.uid = C.uid) AS D
LEFT JOIN tpu AS E ON D.uid = E.uid
GROUP BY E.uname这一个是对的我测试过了,不知道有没有更简单的,高手指教啊!
select sum(t.m) from (select distinct tid,money as m from tb1)t
FROM (SELECT DISTINCT A.tid,A.uid,C.uname[money] FROM tbp AS A LEFT JOIN tbt AS B ON A.tid = B.tid LEFT JOIN tpu AS C ON A.uid = C.uid) AS DLEFT JOIN tup AS E ON D.uid = E.uid
GROUP BY uname
2):select sum(money) from tb
也可以把语句组合起来
2:select sum(money) from tb1