[英]SQL - run query against different table (dynamic table) based on parameter
我基本上有一個帶有@date
參數的查詢,根據該@date
我想對適當的表運行查詢。 如果重要的話,這些表是相同的結構,但是在2台不同的服務器上,但是它們是鏈接在一起的,因此從這兩個表中運行不是問題。 因此,我希望:
IF @date = getdate() THEN
SELECT * FROM server1.db1..MyTable
ELSE
SELECT * FROM server2.db2..MyTable_history WHERE date = @date
END
我很確定這可以通過動態sql來完成,但是查詢有點麻煩,因此我希望盡可能避免這種情況。 我希望能夠做一些非常干凈的事情,例如一條大的IF ELSE語句-運行一個查詢或另一個查詢。
任何幫助,將不勝感激。 我也在使用SQL Server 2008 R2
謝謝!
嘗試這個:
IF @date = CAST(getdate() as date)
BEGIN
SELECT * FROM server1.db1..MyTable
ELSE
SELECT * FROM server2.db2..MyTable_history WHERE date = @date
END
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.