在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