这样的视图应该怎样设计?

oceanming 2003-12-07 12:37:20
有两个表:t_student,t_chooseclass,
表t_student包括字段f_id,f_name,f_sex,_f_age等等,
表t_chooseclass包括字段f_id,f_classname,表t_student与表t_chooseclass通过字段f_id是一对多关系,现在想建一个视图,它包括表t_student所有字段,同时有另一个字段是在表t_chooseclass中相应的多个f_classname的组合。这样的视图应该设计?
...全文
32 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
bflovesnow 2003-12-07
  • 打赏
  • 举报
回复
那用函数:

if objectid('f_name') is not null
drop function f_name
go
create function f_name(f_id integer)
returns varchar(1000)
as
BEGIN
DECLARE @class VARCHAR(8000)
SELECT @class=''
SELECT @class=@class+','+f_classname FROM t_chooseclass WHERE f_id=@f_id
SELECT @class=RIGHT(@class,LEN(@class)-1)
RETURN @class
END
go

select dbo.f_name(fid),* from t_student
bflovesnow 2003-12-07
  • 打赏
  • 举报
回复
create view v_name
as
select t.*,c.f_classname
from t_student t inner join t_chooseclass c on t.f_id=c.f_id

go

select * from v_name
oceanming 2003-12-07
  • 打赏
  • 举报
回复
也就是如果一个学生选了多门课程时,有一个字段能够把他所有的课程名称用一个字段表示出来。


f_id f_name f_age....
2003 张三 23

f_id f_classname
2003 物理
2003 化学

最后的视图想设计为
f_id f_name .... f_classes
2003 张三 物理,化学

34,874

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧