- Với OLE DB
Hãy thử mã này, nó hoạt động với tôi với các bảng của riêng tôi với 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
Bạn phải nhấp vào Tham số trong Trình chỉnh sửa nguồn OLEDB để định cấu hình những gì bạn cần. Sử dụng '?' đại diện cho một biến trong truy vấn của bạn.
Nếu bạn truy vấn nếu quá phức tạp, hãy lưu trữ nó trong một thủ tục được lưu trữ và gọi nó như sau:
EXEC shema.storedProcedureName ?
Và lập bản đồ '?' vào biến @user ::DateString
của bạn- Với ODBC
Các biểu thức nằm ngoài luồng dữ liệu trong Thuộc tính luồng dữ liệu. Hãy chọn thuộc tính biểu thức và thêm truy vấn động của bạn.
Và biểu hiện của bạn sẽ là
"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"