首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

求1个有选择功能的视图,请高手入。该怎么处理

2012-03-07 
求1个有选择功能的视图,请高手入。config表中有mode字段,mode字段只有1或者0两个值。另有a表和b表当mode的值

求1个有选择功能的视图,请高手入。
config表中有mode字段,mode字段只有1或者0两个值。

另有a表和b表

当mode的值为1时视图select   a表的内容,mode为0时select   b表的内容。

求这个视图怎么写?

[解决办法]
CREATE TABLE #A(id int,ColumnN1 nvarchar(20))
CREATE TABLE #B(id int,ColumnN1 nvarchar(20))
CREATE TABLE #config(mode bit)

INSERT INTO #A SELECT 1, 'A1 '
INSERT INTO #B SELECT 1, 'B1 ' UNION ALL SELECT 2, 'B2 '
INSERT INTO #config SELECT 1

--当#A与#B表的结构相同时候
SELECT * FROM #A WHERE EXISTS(SELECT 1 FROM #config WHERE mode=1)
UNION ALL
SELECT * FROM #A WHERE EXISTS(SELECT 1 FROM #config WHERE mode=0)

--当当#A与#B表的结构不相同时候,使用存储过程来,动态SQL语句
--CREATE PROC Proc_Name
--@Where nvarchar(3000)
--AS
--DECLARE @Sql nvarchar(4000)
--IF EXISTS(SELECT 1 FROM #config WHERE mode=1)
-- SET @Sql= 'SELECT * FROM #A '+@Where
--ELSE
-- SET @Sql= 'SELECT * FROM #A '+@Where
--EXECUTE (@Sql)
--GO


DROP TABLE #A,#B,#config

热点排行