неверное имя столбца, параметр из c # - PullRequest
0 голосов
/ 19 марта 2019
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

это работает так.

но я хочу поставить параметр. Я отправлю этот параметр в моей программе (c #).

допустим, я поставил свой параметр 500, поэтому он должен работать как

(ABS(MAX((convert(int,WIDTH))- (convert(int,HEIGHT))))) as parameter<500

для достижения этого

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

не работает. Там написано "неверный параметр имени столбца"

как я могу это исправить.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 19 марта 2019

Вы можете сделать это двумя способами.

1) изменить свой оператор where на следующий

WHERE (ABS(MAX((convert(int,WIDTH))- (convert(int,HEIGHT))))) < 500
GROUP BY LAYOUT, FORM_NAMESPACE_NAM

2) Использовать подзапрос

SELECT [parameter]
FROM (SELECT (ABS(MAX((convert(int,WIDTH))- (convert(int,HEIGHT))))) as [parameter])
WHERE parameter < 500
0 голосов
/ 19 марта 2019

Запрос должен быть

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...