Моя база данных состоит из двух таблиц: t_computers
и t_queries
.Использование запроса, хранящегося в таблице
Этот запрос показывает мне, какие компьютеры ноутбуки
select *
from t_computers
where type = 'Laptop'
В таблице t_queries
я хранящегося динамических запросов SQL.
SELECT QuerySQL
from t_query
where QueryName = 'Clients that have not been started in 30 days'
Первый результат - это запрос SQL, который дал бы мне эту информацию.
Теперь для сложной части я хочу только выбрать компьютеры с типом «Ноутбук» и возвращаться, если я запустил запрос, который хранится в таблице.
Так что-то вроде этого
select *
from t_computers
where type = 'Laptop' and
(computer is returned for (SELECT QuerySQL
from query
where QueryName = 'Clients that have not been started in 30 days'))
даже возможно ли это? Я использую SQL Server 2008 R2
Я использовал очень упрощенный пример. Некоторая справочная информация о том, почему я хочу использовать запрос, сохраненный в таблице. Благодаря нашей системе управления клиентами (аналогичной SCCM) администраторы могут легко создавать «представления» клиентов. Например, отфильтруйте все компьютеры, у которых есть IP, начиная с 10. *. Как только они сохраняют представление, SQL-запрос создается и сохраняется в таблице t_queries. Этот один запрос, который я хочу сравнить с изменениями довольно часто.
Какой СУБД является вы используете? – Barranka
Выполнение sql, хранящееся в db, для меня совсем не похоже – ControlAltDel
с использованием MS SQL @Barranka –