日期:2014-05-18  浏览次数:20542 次

从一个基本表得到一个视图,但视图中的某一个字段由基本表的三个字段的值中加“,”得来,请问如何建立该视图啊?
基本表

f1       f2         f3           f4           f5               f6             f7
a         11         14           15           24               35             47


f2——f7都是int类型

我要得到的视图是这样的:
f1       f2_4                       f5_7
a         11,14,15             24,35,47

这里的f2_4是字符串,由基本表的f2,f3,f4三个字段的值中间加“,”组合而成。

这里的f5_7是字符串,由基本表的f5,f6,f7三个字段的值中间加“,”组合而成。


请问高人,该如何建立这个视图啊?

------解决方案--------------------
CREATE VIEW VW_NAME
AS
SELECT F1, F2 + ", " + F3 + ", " + F4, F5 + ", " + F6 + ", " + F7
FROM TABLENAME

如果f2的数据类型不是字符用cast转换一下就可以
------解决方案--------------------
create view v1
as
select
f1,
isnull(rtrim(f2), ' ')+ ', '+isnull(rtrim(f3), ' ')+ ', '+isnull(rtrim(f4), ' ') as f2_4,
isnull(rtrim(f5), ' ')+ ', '+isnull(rtrim(f6), ' ')+ ', '+isnull(rtrim(f7), ' ') as f5_7
from
基本表
go

select * from V1
------解决方案--------------------
select f1,f2+ ', '+f3+ ', '+f4 as f2_4, f5+ ', '+f6+ ', '+f7 as f5_7 from tbl
------解决方案--------------------
create table T(f1 varchar(10), f2 int, f3 int, f4 int, f5 int, f6 int, f7 int)
insert T select 'a ', 11, 14, 15, 24, 35, 47

create view vi
as
select
f1,
f2_4=rtrim(f2)+ ', '+rtrim(f3)+ ', '+rtrim(f4),
f5_7=rtrim(f5)+ ', '+rtrim(f6)+ ', '+rtrim(f7)
from T

select * from vi
------解决方案--------------------
create view test
as
select f1,
[f2_4]=cast(f2 as varchar)+ ', '+cast(f3 as varchar)+ ', '+cast(f4 as varchar),
[f5_7]=cast(f5 as varchar)+ ', '+cast(f6 as varchar)+ ', '+cast(f3 as varchar)
from tbl