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

where中使用变量的有关问题

2012-04-11 
where中使用变量的问题我想在视图中使用变量,下面的写法不对请教应如何写?declare@yfvarchar(20)--set@yf

where中使用变量的问题
我想在视图中使用变量,下面的写法不对请教应如何写?

declare @yf varchar(20)
--set @yf=201203
SELECT a.月份, a.退货后回款 AS hk, a.本年回款, a.zyid, a.编码
FROM dbo.gzlj a INNER JOIN
  (SELECT zyid, MAX(月份) 月份
  FROM gzlj
  WHERE 月份 < @yf GROUP BY zyid) b ON a.zyid = b.zyid AND a.月份 = b.月份
WHERE (a.本年回款 > 0)

[解决办法]
CREATE FUNCTION F_VIEW(@yf varchar(20)) 
RETURNS TABLE 
AS 
RETURN (SELECT a.月份, a.退货后回款 AS hk, a.本年回款, a.zyid, a.编码
FROM dbo.gzlj a INNER JOIN
(SELECT zyid, MAX(月份) 月份
FROM gzlj
WHERE 月份 < @yf GROUP BY zyid) b ON a.zyid = b.zyid AND a.月份 = b.月份
WHERE (a.本年回款 > 0)) 
GO 

SELECT * FROM DBO.F_VIEW('201203')

热点排行