Ich benötige Hilfe zum Ausführen von Abfragen, die in einer Spalte einer Tabelle gespeichert sind.In einer Spalte einer Tabelle gespeicherte Abfragen ausführen
Mein Tabellenname ist Stats. Es enthält einige Berichtsabfragen wie folgt:
id | key | query
------ | ------ | ------
1 | reportA | select 1
2 | reportB | select 2
3 | reportC | select count(id) from Users
4 | reportD | select top 1 firstname from Users order by 1 desc
Werte in Abfrage Spalte sind nur Beispiele. Sie werden in der Produktion komplexere Abfragen sein, aber sie geben immer ein Ergebnis zurück.
Ist es möglich, eine Abfrage mit einer Ausgabe wie folgt zu schreiben:
key | result |
------ | ------ |
reportA | 1 |
reportB | 2 |
reportC | 500 |
reportD | Jack |
Danke für Ihre Hilfe. Es sieht so aus als würde es funktionieren. Nur ein Problem. "Die Konvertierung ist fehlgeschlagen, wenn der Varchar-Wert 'Jack' in den Datentyp int konvertiert wurde." Sollte ich alle Ergebnisse in etwas wie Varchar konvertieren? @ krishnraj-rana –
Ich habe eine Abfrage wie folgt aktualisiert: 'cast (('+ [query] +') als varchar) AS result'. Also werden alle Ergebnisse nach varchar umgewandelt. Und das Problem ist gelöst. Vielen Dank. –
@ IsaBasan: Richtig, du kannst das auch tun. Froh dir zu helfen. –