2016-12-10 4 views
0

Ich habe Tabelle mit Formeln:Verwenden Formel aus Tabelle

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

Ich mag zum Beispiel die Formel aus der Tabelle in SELECT verwenden

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

Ich versuche zu ersetzen [Home_Goals_Final]> [Away_Goals_Final] mit den Formeln aus der Tabelle zum Testen von Kombinationen Ich benutze SQL Server 2014. Irgendwelche Vorschläge?

Antwort

2

würden Sie dynamische SQL für diese verwenden müssen:

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; 

ich die Abfrage jetzt korrigieren ihre Arbeit

+0

Ich versuche, dies aber ich Glück vielleicht detailliertere Beschreibung auf das Problem nicht helfen haben mehr –

+0

'ersetzen (sql,'where ',' <<< verlorene Anführungszeichen um "where". Es ist ein Teilstring ersetzt in '@ sql' Variable mit dem Wert aus Ihrer Tabelle. –

+0

Jetzt habe ich ein Problem zu implementieren oder zu kombinieren mit den anderen Variablen aus WHERE-Klausel –

Verwandte Themen