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