[英]invalid column name , parameter from c#
select (ABS(MAX((convert(int,WIDTH))- (convert(int,HEIGHT))))) as parameter ,LAYOUT,FORM_NAMESPACE_NAME from [FORM_LAYOUT]
group by WIDTH,HEIGHT,LAYOUT,FORM_NAMESPACE_NAME
order by ABS(MAX((convert(int,WIDTH))- (convert(int,HEIGHT)))) desc
this works like that. 这样工作。
but i want to put a parameter. 但我想放一个参数。 i will send this parameter in my program (c#) .
我将在我的程序中发送此参数(c#)。
let's say i put my parameter 500, so it must work like 让我说我把我的参数500,所以它必须像
(ABS(MAX((convert(int,WIDTH))- (convert(int,HEIGHT))))) as parameter<500
in order to achieve that 为了做到这一点
select (ABS(MAX((convert(int,WIDTH))- (convert(int,HEIGHT))))) as parameter ,LAYOUT,FORM_NAMESPACE_NAME from [FORM_LAYOUT]
where parameter <500
group by WIDTH,HEIGHT,LAYOUT,FORM_NAMESPACE_NAME
order by ABS(MAX((convert(int,WIDTH))- (convert(int,HEIGHT)))) desc
doesn't work. 不起作用。 It says "invalid column name parameter"
它说“无效的列名参数”
how can i correct it. 我该如何纠正。
Thanks. 谢谢。
Query should be 查询应该是
select (ABS(MAX((convert(int,WIDTH))- (convert(int,HEIGHT))))) as parameter ,LAYOUT,FORM_NAMESPACE_NAME from [FORM_LAYOUT]
group by WIDTH,HEIGHT,LAYOUT,FORM_NAMESPACE_NAME
having ABS(MAX((convert(int,WIDTH))- (convert(int,HEIGHT)))) < 500
order by ABS(MAX((convert(int,WIDTH))- (convert(int,HEIGHT)))) desc
You can accomplish this in two ways. 您可以通过两种方式完成此任务。
1) change your where statement to the following 1)将where语句更改为以下内容
WHERE (ABS(MAX((convert(int,WIDTH))- (convert(int,HEIGHT))))) < 500
GROUP BY LAYOUT, FORM_NAMESPACE_NAM
2) Use a sub query 2)使用子查询
SELECT [parameter]
FROM (SELECT (ABS(MAX((convert(int,WIDTH))- (convert(int,HEIGHT))))) as [parameter])
WHERE parameter < 500
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.