34,590
社区成员
发帖
与我相关
我的任务
分享
set @strMAIN ='SELECT * FROM
(
SELECT
Code,
avgPrice = AVG(p1),
minPrice = MIN(p2),
LastDate = MAX(Date)
FROM Datab
GROUP BY Code
) A
INNER JOIN Datab B
ON A.Code = B.Code AND A.LastDate = B.Date
WHERE (A.avgPrice-B.p1) >= A.avgPrice*'+ltrim(@Scope) + @strWhere
WHERE (A.avgPrice-B.p1) >= CAST ( A.avgPrice * '+ @Scope + ' AS VARCHAR(20)) ' + @strWhere
ALTER PROCEDURE [dbo].[pp]
(
@Scope float =0.2,
@FilterCon int=0
)
AS
BEGIN
declare @strWhere varchar(500)
declare @strMain varchar(500)
if @FilterCon = 0
begin
set @strWhere = '....'
end
if @FilterCon = 1
begin
set @strWhere = ' ....'
end
set @strMAIN ='SELECT * FROM
(
SELECT
Code,
avgPrice = AVG(p1),
minPrice = MIN(p2),
LastDate = MAX(Date)
FROM Datab
GROUP BY Code
) A
INNER JOIN Datab B
ON A.Code = B.Code AND A.LastDate = B.Date
WHERE (A.avgPrice-B.p1) >= A.avgPrice*'+CAST(@Scope AS VARCHAR(100)) + @strWhere
exec(@strMAIN)
END
+@Scope
--》
+ltrim(@Scope)
WHERE (A.avgPrice-B.p1) >= A.avgPrice*'+ltrim(@Scope) + @strWhere