assesspigeonholeassesscollection还是前面的问题,前面没有仔细说清楚抱歉
现在我有2张数据表结构如下表A
A_id A_key_id A_key_value
1 1 20.0
1 2 10.0
1 3 15.0
1 4 30.0
1 5 40.02 1 15.0
2 2 25.0
2 3 15.0
2 4 35.0
2 5 10.0表B
B_key_id B_key_percent B_key_name
1 10% 语文
2 20% 数学
3 30% 英语
4 15% 化学
5 25% 物理我现在要求计算结果是
A_key_id=B_key_id 时 A_key_value*B_key_percentkey_id A_key_value*B_key_percent1 (20.0*10%)
2 (10.0*20%)
3 (15.0*30%)
4 (30.0*15%)
5 (40.0*25%)
最后在把这些结果相加
根据 A_id=1 时 全部相乘后的总和
要求结果集是这样的格式语句格式 select xx as 语文,xx as 数学,xx as 英语, xx as 化学, xx as 物理 from table
由于要做Excel导出 必须对应别名和等于select sum(a.A_key_value*b.B_key_percent/100) from table_A a left join table_B b on a.keyid=b.keyid
where a.keyid=b.keyid group by a.A_id由于数据库的值是竖着插入的,现在要横着显示比较麻烦
语文, 数学, 英语, 化学, 物理 , 和
20.0 10.0 15.0 30.0 40.0
15.0 25.0 15.0 35.0 10.0
现在我有2张数据表结构如下表A
A_id A_key_id A_key_value
1 1 20.0
1 2 10.0
1 3 15.0
1 4 30.0
1 5 40.02 1 15.0
2 2 25.0
2 3 15.0
2 4 35.0
2 5 10.0表B
B_key_id B_key_percent B_key_name
1 10% 语文
2 20% 数学
3 30% 英语
4 15% 化学
5 25% 物理我现在要求计算结果是
A_key_id=B_key_id 时 A_key_value*B_key_percentkey_id A_key_value*B_key_percent1 (20.0*10%)
2 (10.0*20%)
3 (15.0*30%)
4 (30.0*15%)
5 (40.0*25%)
最后在把这些结果相加
根据 A_id=1 时 全部相乘后的总和
要求结果集是这样的格式语句格式 select xx as 语文,xx as 数学,xx as 英语, xx as 化学, xx as 物理 from table
由于要做Excel导出 必须对应别名和等于select sum(a.A_key_value*b.B_key_percent/100) from table_A a left join table_B b on a.keyid=b.keyid
where a.keyid=b.keyid group by a.A_id由于数据库的值是竖着插入的,现在要横着显示比较麻烦
语文, 数学, 英语, 化学, 物理 , 和
20.0 10.0 15.0 30.0 40.0
15.0 25.0 15.0 35.0 10.0
解决方案 »
- 求救,oracle中执行"col column_name format a20" 命令后,查询该字段的值为“##########”,怎么解决,恢复的方法??
- oracle9i连接时出现sp2-0306错误
- sqldbx 工具如何备份数据库
- 关于oracle用户角色问题
- 关于SQL语句的两个问题
- ORA-03113错误
- *****************请问高手以下语句是什么意思?*******************
- sqlserver中的“select *,(select count(*) from TType where ParentID = T.TypeID) as num from TType T ”在oracle怎么写?
- 如何返回两个日期的间隔?要精确到分钟
- 从oracle73到oracle8
- 一个关于oracle 数据链路的问题!急急!!!!!!!!!!
- 表数据转换求助
tt.A_id,
sum(decode(tt.A_key,1,tt.A_key_value)) as 語文,
sum(decode(tt.A_key,2,tt.A_key_value)) as 數學,
sum(decode(tt.A_key,3,tt.A_key_value)) as 英語,
sum(decode(tt.A_key,4,tt.A_key_value)) as 化學,
sum(decode(tt.A_key,5,tt.A_key_value)) as 物理,
sum(decode(tt.A_key,99,tt.A_key_value)) as 合計
(
select * from A
union all
select A_id,99,sum(subject) sub
from
(select A.A_id,(A.A_key_value*b.B_key_percent/100) subject from A
left join b on a.keyid=b.keyid) t
group by t.A_id
)tt
group by tt.A_id