2016-12-10 4 views
0

У меня есть таблица с формулами:Используйте формулу из таблицы

ID Formulas 
1 [A] > [B] 
2 [A] > [B] + 1 

Я хотел бы использовать формулу из таблицы в SELECT, например

SELECT * 
    FROM [Program].[dbo].[Data] 
    WHERE 
[Home_Goals_Final] > [Away_Goals_Final] and 
[Total_History] >= @Total_History and 
[Sum_Count_History] >= @Total_Histry 

Я пытаюсь заменить [Home_Goals_Final]> [Away_Goals_Final] с формулами из таблицы для тестирования комбинаций Я использую SQL-сервер 2014. Любые предложения?

ответ

2

Вам придется использовать динамический SQL для этого:

declare @sql nvarchar(max); 

set @sql = 'SELECT * FROM [Program_4].[dbo].[Edinica_2013-2014] WHERE @Where' ; 

set @sql = replace(@sql, '@where', 
        (select ft.[Goals] from [Program_4].[dbo].[Test_Data_Varijabli_1] ft where ft.id = 5) 
       ); 

exec sp_executesql @sql; 

правлю запрос в настоящее время его работы

+0

Я стараюсь это, но я не везение, может быть более подробное описание по этой проблеме поможет more –

+0

'replace (sql, '@where',' <<< потерянные цитаты вокруг "где". Подстрока заменяет в переменной '@ sql' значение из вашей таблицы. –

+0

Теперь у меня есть проблема для реализации или объединения с другими переменными из предложения WHERE –

Смежные вопросы