- S OLE DB
Zkuste tento kód, funguje to pro mě s mými vlastními tabulkami s 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
Chcete-li nakonfigurovat, co potřebujete, musíte kliknout na Parametry v editoru zdrojů OLEDB. Použijte '?' reprezentovat proměnnou ve vašem dotazu.
Pokud se dotazujete, zda je příliš komplikovaný, uložte jej do uložené procedury a zavolejte ji takto:
EXEC shema.storedProcedureName ?
A zmapovat '?' do vaší proměnné @user::DateString
- S ODBC
Výrazy jsou mimo tok dat ve vlastnostech toku dat. Vyberte vlastnost výrazu a přidejte svůj dynamický dotaz.
A váš výraz bude
"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"