这个SQL语句该怎么写?(在线等待) select 产品名称,原始价,avg(成交价) as 平均成交价from T1 group by 产品名称,原始价 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select a.产品名称,a.原始价,a.成交价,b.平均成交价from t1 a,(select 产品名称,平均成交价=avg(成交价) from t1 group by 产品名称)bwhere a.产品名称=b.产品名称 --如果是更新t1表中的平均成交价update a set 平均成交价=b.平均成交价from t1 a,(select 产品名称,平均成交价=avg(成交价) from t1 group by 产品名称)bwhere a.产品名称=b.产品名称 select a.*,平均成交价=(select avg(成交价) from t1 where 产品名称=a.产品名称)from t1 a select 产品名称,原始价,成交价,sum(成交价)/2 as 平均成交价 from TBGROPU BY 产品名称,原始价,成交价 To victorycyz(中海): 结果是: 平均成效价=所有产品成效价之/产品数量 不是我想要的To zjcxc(邹建): 因为我的产品名称和原始价是从产品信息表(t2)查询出来的,当我用 left join关联时出现“......表名或别名不匹配”这类的错误。 以下测试无误,这不是你所想要的么?create table T1 (产品名称 varchar(5), 原始价 decimal(4,1), 成交价 decimal(4,1))goinsert t1 select 'Name1', 25.5, 18 union select'Name1', 25.5, 28.5 union select'Name2', 15 , 16 union select'Name2', 15 , 17.5 select a.*,平均成交价=(select avg(成交价) from t1 where 产品名称=a.产品名称)from t1 adrop table t1结果:产品名称 原始价 成交价 平均成交价 ----- ------ ------ ---------------------------------------- Name1 25.5 18.0 23.250000Name1 25.5 28.5 23.250000Name2 15.0 16.0 16.750000Name2 15.0 17.5 16.750000(所影响的行数为 4 行) select a.产品名称,a.原始价,b.成交价,b.平均成交价from t2 a left join(select a.产品名称,a.成交价,b.平均成交价from t1 a,(select 产品名称,平均成交价=avg(成交价) from t1 group by 产品名称)bwhere a.产品名称=b.产品名称)b on a.产品名称=b.产品名称 有点不明白,就在一个表中。用其它的也应该可以来实现的。可能只是有点麻烦。还想请问一下这个left join(在这里表示什么?就指这个表吗? MS SQL触发器删除的问题 急!100分寻求帮助,关于数据表里记录合并的问题 为什么我用第1种方法直接执行查询是显示√,而用第2种方法去显示'v'呢? 求sql,高手请进! 请教插入语句!在线等! InterBase数据库中的BLOB类型对应SQL Server2000中什么数据类型? 关于给现有表中添加/删除列的问题 如何设计数据库 sql server 2000的导出!!!!急!!!! 有什么因素能影响BDE(或ODBC)的连接数据库服务器的速度? 老大帮忙!!!关于插入多条记录存入sql server 2k数据库 sql语句不起作用,帮忙看看怎么回事。急等!
from t1 a,(select 产品名称,平均成交价=avg(成交价) from t1 group by 产品名称)b
where a.产品名称=b.产品名称
update a set 平均成交价=b.平均成交价
from t1 a,(select 产品名称,平均成交价=avg(成交价) from t1 group by 产品名称)b
where a.产品名称=b.产品名称
from t1 a
GROPU BY 产品名称,原始价,成交价
结果是: 平均成效价=所有产品成效价之/产品数量
不是我想要的To zjcxc(邹建):
因为我的产品名称和原始价是从产品信息表(t2)查询出来的,当我用 left join关联时出现“......表名或别名不匹配”这类的错误。
以下测试无误,这不是你所想要的么?create table T1 (产品名称 varchar(5), 原始价 decimal(4,1), 成交价 decimal(4,1))
goinsert t1 select
'Name1', 25.5, 18
union select
'Name1', 25.5, 28.5
union select'Name2', 15 , 16
union select
'Name2', 15 , 17.5 select a.*,平均成交价=(select avg(成交价) from t1 where 产品名称=a.产品名称)
from t1 adrop table t1结果:产品名称 原始价 成交价 平均成交价
----- ------ ------ ----------------------------------------
Name1 25.5 18.0 23.250000
Name1 25.5 28.5 23.250000
Name2 15.0 16.0 16.750000
Name2 15.0 17.5 16.750000(所影响的行数为 4 行)
from t2 a left join(
select a.产品名称,a.成交价,b.平均成交价
from t1 a,(select 产品名称,平均成交价=avg(成交价) from t1 group by 产品名称)b
where a.产品名称=b.产品名称
)b on a.产品名称=b.产品名称
还想请问一下这个left join(在这里表示什么?就指这个表吗?