SQL2000 视图不支持UNION SQL 构造 替代方案 [ SQL | View | UNION ]
前言
数据库视图是大家常用的一个功能,使用的过程中偶尔有需要UNION联合多个表的需求,这里提供一种参考方案,请看正文。
环境
1. Microsoft SQL Server 2000 sp3
正文
1. 先看在视图中使用union提示报的错:
2. 解决方案:表值函数+视图,例句:
SELECT LastName,FirstName,Title Employees
UNION
SELECT LastName,FirstName,Title Users
UNION
SELECT LastName,FirstName,Title Users
a). 建立表值函数:
CREATE FUNCTION dbo.FuncEmployeeAndUser()
RETURNS TABLE
AS
RETURN(
SELECT LastName,FirstName,Title Employees
UNION
SELECT LastName,FirstName,Title Users
)
RETURNS TABLE
AS
RETURN(
SELECT LastName,FirstName,Title Employees
UNION
SELECT LastName,FirstName,Title Users
)
b). 建立视图:
CREATE VIEW EmployeeAndUser AS
SELECT *
FROM FuncEmployeeAndUser()
SELECT *
FROM FuncEmployeeAndUser()
结束
虽然稍微麻烦一点,但不失为此类问题解决办法之一。