- Mit OLE DB
Probieren Sie diesen Code aus, er funktioniert bei mir mit meinen eigenen Tabellen mit SQL Server:
SELECT userid,sum(goldbalance) AS SUMGOLD
FROM deltadna.events_live
WHERE eventTimestamp >= DATEADD(DAY, -100,CONVERT(DATE,?))
GROUP BY userid
ORDER BY SUMGOLD desc
Sie müssen im OLEDB-Quelleditor auf Parameter klicken, um zu konfigurieren, was Sie benötigen. Verwenden Sie das '?' um eine Variable in Ihrer Abfrage darzustellen.
Wenn Ihre Abfrage zu kompliziert ist, speichern Sie sie in einer gespeicherten Prozedur und rufen Sie sie so auf:
EXEC shema.storedProcedureName ?
Und ordnen Sie das '?' zu Ihrer Variable @user::DateString
- Mit ODBC
Die Ausdrücke befinden sich außerhalb des Datenflusses in den Datenflusseigenschaften. Wählen Sie die Ausdruckseigenschaft aus und fügen Sie Ihre dynamische Abfrage hinzu.
Und Ihr Ausdruck wird sein
"SELECT userid,sum(goldbalance) AS SumGold
FROM deltadna.events_live
where eventTimestamp>=DATE "[email protected][User::datestring]+" +INTERVAL '-100 day'
group by userid
order by SumGold desc"