Ich führe SQL Server 2016 Management Studio. Zur Zeit habe ich die folgenden UnterabfragestrukturSQL dynamische Unterabfragen
WITH x_1 AS
(SELECT
-- Code A here --
column_1
-- Code B here --
),
x_2 AS
(SELECT
-- Code A here --
column_2
-- Code B here --
)
SELECT
-- Rest of the code --
So im Wesentlichen ich die gleichen Code-Snippets für beide Unterabfragen („Code A“ und „Code B“) mit Ausnahme der Bezugnahme auf eine andere Spalte am Durchführung in zwischen. Um unnötige Wiederholungen zu vermeiden, könnte ich in anderen Programmiersprachen z. tun etwas entlang der Linien des folgenden Pseudo-Code Schnipsel
varnames = ["x_1", "x_2"]
colnames = ["col_1", "col_2"]
for (i in 1:2){
eval(varnames[i]) = function(name = colnames[i]){Code A, eval(name), Code B}
}
heißt, eine Schleife über den Codeblöcken doppelt so groß ist und die Variable dynamisch und Spaltennamen auszuwerten. Leider weiß ich nicht, wie man das in SQL macht. Irgendwelche Ideen, wie es erreicht werden könnte? Ist dieser Ansatz in SQL sinnvoll oder gibt es geeignetere Methoden, um das gleiche Ergebnis zu erzielen?
Klingt nach etwas, das Sie in einer gespeicherten Prozedur tun könnten. –