Фильтр по колонке с текстом SQL
Фильтры
Разработка

Фильтр по колонке с текстом SQL

В запросе к таблице tbl_Candidates есть колонка Age с текстом SQL "DATEDIFF(yy, tbl_Candidates.DOB, GETDATE())"
В соответствующем датасете у этой колонки стоит птичка "Поле фильтрации" и колонка выводится в списке колонок для построения фильтра.
При попытке фильтрации по Age MSSQL Server выдаёт ошибку Invalid column name 'Age'.

Вопрос: как правильно фильтровать по колонкам с текстом SQL?

Нравится

6 комментариев

После пяти минут раздумий обернул в subquery. Работает.
Но может быть есть канонический способ?

Здравствуйте, Роман!
По колонке с SQL-текстом в принципе нельзя фильтровать. Там ведь может быть выборка целой таблицы, например.

Ого! Вижу, все приходят к одному и тому же результату http://www.community.terrasoft.ru/blogs/4397

"Андрей Каспаревич" написал:

Здравствуйте, Роман!

По колонке с SQL-текстом в принципе нельзя фильтровать. Там ведь может быть выборка целой таблицы, например.

С уважением,

Каспаревич Андрей

Эксперт 3-й линии поддержки

Андрей, запрос колонки с SQL-текстом, возвращающим больше одной колонки или больше одной записи, не пройдёт синтаксическую проверку, будет отклонён сервером бд и вернёт ошибку.

"Рыжий Роман Леонидович" написал:Но может быть есть канонический способ?

Роман, такого способа нет.

Роман, извините, затупил.
Но, в любом случае, фильтровать по такой колонке нельзя.

Показать все комментарии