簡體   English   中英

SQL-根據參數針對不同的表(動態表)運行查詢

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM