返回字段数不确定的表类型的多语句函数
很少写函数 刚写了个函数 出错了 请帮忙查下错误在哪 应该怎样改
CREATE FUNCTION SplitCount(@BeginTime datetime,@EndTime datetime,@EmpID VARCHAR(10)='')
RETURNS TABLE
AS
BEGIN
---------------------------------------------------------------------------程序代码
DECLARE @SQL AS VARCHAR(3000)
SET @SQL=''
SELECT @SQL=@SQL+ 'SUM(CASE WHEN CHARINDEX(''' + 统计编号 + ''',ComplexCounts )>0 THEN 1 ELSE 0 END) ''' + 统计编号 + ''','
FROM (SELECT 统计编号 FROM DefKqCoutDetail) AS a
SELECT @SQL
SET @SQL='SELECT Emp_ID,' + LEFT(@SQL,LEN(@SQL)-1) + ' FROM Report_Day WHERE sign_date BETWEEN ''' + @BeginTime + '''' + ' AND ''' + @EndTime + ''''
IF @EmpID<>''
SET @SQL=@SQL+ ' AND Emp_ID = ''' + @EmpID + ''''
SET @SQL=@SQL + ' GROUP BY Emp_ID'
-- PRINT @SQL
---------------------------------------------------------------------------程序代码
RETURN (EXEC(@SQL))
END
[ 本帖最后由 happynight 于 2011-3-17 17:29 编辑 ]