oracle 视图sql语句怎么写
现有表1列a列b1a2b1c2d创建视图成列a列b列c1ac2bdsql怎么写啊多谢图片...
现有表1
列a 列b
1 a
2 b
1 c
2 d
创建视图成
列a 列b 列c
1 a c
2 b d
sql怎么写啊
多谢
图片 展开
列a 列b
1 a
2 b
1 c
2 d
创建视图成
列a 列b 列c
1 a c
2 b d
sql怎么写啊
多谢
图片 展开
6个回答
展开全部
在MSSQL 中可以,在oracle里面需要核对语法,希望有参考价值
假设有张学生成绩表(CJ)如下
Name Subject Result
张三 语文 80
张三 数学 90
张三 物理 85
李四 语文 85
李四 数学 92
李四 物理 82
想变成
姓名 语文 数学 物理
张三 80 90 85
李四 85 92 82
declare @sql varchar(4000)
set @sql = 'create view [viewname] as select Name'
select @sql = @sql + ',sum(case Subject when '''+Subject+''' then Result end) ['+Subject+']'
from (select distinct Subject from CJ) as a
select @sql = @sql+' from CJ group by name'
select @sql
exec(@sql)
假设有张学生成绩表(CJ)如下
Name Subject Result
张三 语文 80
张三 数学 90
张三 物理 85
李四 语文 85
李四 数学 92
李四 物理 82
想变成
姓名 语文 数学 物理
张三 80 90 85
李四 85 92 82
declare @sql varchar(4000)
set @sql = 'create view [viewname] as select Name'
select @sql = @sql + ',sum(case Subject when '''+Subject+''' then Result end) ['+Subject+']'
from (select distinct Subject from CJ) as a
select @sql = @sql+' from CJ group by name'
select @sql
exec(@sql)
追问
mysql 没学过啊,你能说说大概的意思吗?
create view ss as select name, 后面的就看不懂了
追答
后面select distinct Subject from CJ 就是选出不同课程,而case ...when ....then....end 就是不同课程中选择成绩,其中字段名称 就是'+Subject+
你可以建好cj表 ,然后用print @sql 来追踪理解。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
create view 视图名 as select * from 表名;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
create view v_tname as
select * from t_name where deptno=101;
select * from t_name where deptno=101;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询