公用表表达式,给出了错误
问题描述:
DECLARE @UDFLabel1 VARCHAR(50),
@UDFLabel2 VARCHAR(50),
@UDFLabel3 VARCHAR(50),
@UDFLabel4 VARCHAR(50),
@UDFLabel5 VARCHAR(50)
SELECT @UDFLabel1 = UserDefinedFieldName01,
@UDFLabel2 = UserDefinedFieldName02,
@UDFLabel3 = UserDefinedFieldName03,
@UDFLabel4 = UserDefinedFieldName04,
@UDFLabel5 = UserDefinedFieldName05
FROM DataSourceGroup AS DSG
JOIN DataSource AS DS
ON DS.DataSourceGroupID=DSG.DataSourceGroupID
WHERE [email protected]
WITH UDFLabel (ID, Label)
AS (SELECT 1, @UDFLabel1
UNION
SELECT 2, @UDFLabel2
UNION
SELECT 3, @UDFLabel3
UNION
SELECT 4, @UDFLabel4
UNION
SELECT 5, @UDFLabel5
)
SELECT ID, Label
FROM UDFLabel
WHERE Label IS NOT NULL
答
假设你的意思的错误信息:“与”关键字附近
不正确的语法。如果此语句是公用表表达式,xmlnamespaces子句或变更跟踪上下文子句,则前面的语句必须以分号结尾。
然后做它说的;用分号来终止先前的表情...
[snip]
WHERE [email protected]
;
WITH UDFLabel (ID, Label)
AS (SELECT 1, @UDFLabel1
UNION
[snip]
的;
是重要的,使得它的工作。
我想我会使用表变量(或类似)为这种情况,但。
什么是实际错误? – 2009-11-14 11:42:03
错误是什么? – philant 2009-11-14 11:42:36