- Com OLE DB
Experimente este código, funciona para mim com minhas próprias tabelas com o 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
Você precisa clicar em Parameters no OLEDB Source Editor para configurar o que precisa. Use o '?' para representar uma variável em sua consulta.
Se você consultar se for muito complicado, armazene-o em um procedimento armazenado e chame-o assim:
EXEC shema.storedProcedureName ?
E mapeie o '?' para sua variável @user::DateString
- Com ODBC
As expressões estão fora do fluxo de dados em Propriedades do Fluxo de Dados. Selecione a propriedade da expressão e adicione sua consulta dinâmica.
E sua expressão será
"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"