由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Database版 - 求教个MS SQL的问题
相关主题
问一个SQL Server的问题select 跟 set 的区别?
MS T-SQL 问题急问一个关于T-SQL的问题,谢谢
请教一个SQL的问题SQL combine two columns from two different tables no shared (转载)
PIVOT question这2个query哪个快点,为啥
PIVOT TABLE一个关于T-SQL的问题
一个SQL写法性能的请教Remove duplicate from oracle table
SQL find distinct values in large tableSQL add some columns into a table from another table (转载
better solution for cross table query in sql?请教SQL问题,谢谢
相关话题的讨论汇总
话题: 2011话题: select话题: 10话题: union话题: value
进入Database版参与讨论
1 (共1页)
r********9
发帖数: 39
1
有个表 Table(Time,ID,Value)
例如
Time ID Value
10/20/2011 a 3
10/21/2011 a 2
10/22/2011 a 1
10/23/2011 a 2
10/20/2011 b 2
10/21/2011 b 3
10/22/2011 b 4
10/23/2011 b 5
10/20/2011 c 2
10/21/2011 c 3
10/22/2011 c 4
10/23/2011 c 1
如何写个简单的query实现在相同Time下,不同ID的Value之间进行简单的计算?如果计算公式
是(a+b)*c,那返回的结果为
10/20/2011 10
10/21/2011 15
10/22/2011 20
10/23/2011 7
i*****w
发帖数: 75
2
Declare @tbl TABLE (dt datetime, ID varchar(2), value int)
INSERT INTO @tbl(dt, ID, value)
SELECT '10/20/2011', 'a', 3
UNION ALL
SELECT '10/21/2011', 'a', 2
UNION ALL
SELECT '10/22/2011', 'a', 1
UNION ALL
SELECT '10/23/2011', 'a', 2
UNION ALL
SELECT '10/20/2011', 'b', 2
UNION ALL
SELECT '10/21/2011', 'b', 3
UNION ALL
SELECT '10/22/2011', 'b', 4
UNION ALL
SELECT '10/23/2011', 'b', 5
UNION ALL
SELECT '10/20/2011', 'c', 2
UNION ALL
SELECT '10/21/2011', 'c', 3
UNION ALL
SELECT '10/22/2011', 'c', 4
UNION ALL
SELECT '10/23/2011', 'c', 1
SELECT dt, (a+b)*c as Result from
(
SELECT dt, ID, value
FROM @tbl)p
pivot
(max(value) for ID in (a,b,c)
) AS pvt
r********9
发帖数: 39
3
赞大牛!pivot这个函数真给力

【在 i*****w 的大作中提到】
: Declare @tbl TABLE (dt datetime, ID varchar(2), value int)
: INSERT INTO @tbl(dt, ID, value)
: SELECT '10/20/2011', 'a', 3
: UNION ALL
: SELECT '10/21/2011', 'a', 2
: UNION ALL
: SELECT '10/22/2011', 'a', 1
: UNION ALL
: SELECT '10/23/2011', 'a', 2
: UNION ALL

g***l
发帖数: 18555
4
需要构建PIVOT TABLE
TIME, A_VALUE, B_VALUE, C_VALUE
注意SAME TIME+ A_VALUE不能有重复的,你的TABLE要有这个麻烦了
10/20/2011 a 3
10/20/2011 a 4
i*****w
发帖数: 75
5
Even if you have duplicated records for the same day, that's still fine with
the pivot function. All you have to do is to change the aggregation
function. In my example, I used MAX and you could change it to SUM, AVG, etc
. based on your business rules.

【在 g***l 的大作中提到】
: 需要构建PIVOT TABLE
: TIME, A_VALUE, B_VALUE, C_VALUE
: 注意SAME TIME+ A_VALUE不能有重复的,你的TABLE要有这个麻烦了
: 10/20/2011 a 3
: 10/20/2011 a 4

n********6
发帖数: 1511
6
Pivot is powerful.
Everyday is a learning day.

with
etc

【在 i*****w 的大作中提到】
: Even if you have duplicated records for the same day, that's still fine with
: the pivot function. All you have to do is to change the aggregation
: function. In my example, I used MAX and you could change it to SUM, AVG, etc
: . based on your business rules.

1 (共1页)
进入Database版参与讨论
相关主题
请教SQL问题,谢谢PIVOT TABLE
问个SQL问题一个SQL写法性能的请教
这个query怎么写?SQL find distinct values in large table
Help needed in SQLbetter solution for cross table query in sql?
问一个SQL Server的问题select 跟 set 的区别?
MS T-SQL 问题急问一个关于T-SQL的问题,谢谢
请教一个SQL的问题SQL combine two columns from two different tables no shared (转载)
PIVOT question这2个query哪个快点,为啥
相关话题的讨论汇总
话题: 2011话题: select话题: 10话题: union话题: value