首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

加权平均值 但是权值和数值不在一个表中的SQL语句 多谢

2012-06-23 
求一个 加权平均值 但是权值和数值不在一个表中的SQL语句 谢谢在VIEW中求出一个加权平均值比如有 表A(A_ID

求一个 加权平均值 但是权值和数值不在一个表中的SQL语句 谢谢
在VIEW中求出一个加权平均值
比如有 表A(A_ID, A_数值, A_条件) B(B_ID, B_A权值, A_ID, B_条件)
A中ID和数值都有很多个 B中有每个A_ID的数值对应的权值为B_A权值
本来想直接用SUM(A_数值*B_A权值)/SUM(B_A权值)但是这样算出来。。结果不对。。应该是权值和数值没有对应好。。
请教下应该怎么弄 新手 麻烦写的详细点。。按照下面那样全部写全最好了 非常感谢

CREATE VIEW X

AS SELECT

from 

where A_条件= XXX

group by

[解决办法]

SQL code
IF EXISTS (SELECT 1 FROM SYSOBJECTS WHERE name = 'A')BEGIN    DROP TABLE AENDGOCREATE TABLE A(    A_ID INT,    A_数值 INT,    A_条件 VARCHAR(100))GOIF EXISTS (SELECT 1 FROM SYSOBJECTS WHERE name = 'B')BEGIN    DROP TABLE BENDGO CREATE TABLE B(    B_ID INT,    B_A权值 INT,    A_ID INT,    B_条件 VARCHAR(100))GOINSERT INTO ASELECT 1,4,'haha' UNIONSELECT 2,4,'hihi' UNIONSELECT 3,2,'hoho'INSERT INTO BSELECT 1,40,1,'haha' UNIONSELECT 2,60,2,'hihi' UNIONSELECT 3,20,3,'hoho'SELECT SUM(B_A权值 * A_数值)/SUM(A_数值) AS AvgFROM A , BWHERE A.A_ID = B.A_IDAvg44 

热点排行