2011-03-08 48 views
0

我已經成功地將CROSS JOIN實現到我的查詢中,但是,現在我有興趣將交叉連接中的第一個表的內容更改爲更具動態性。所以我想將第一個表格作爲變量存儲,然後在我的變量表格和另一個表格之間執行CROSS JOIN從SQL中的參數進行CROSS JOIN

是否有無法實現這種行爲?但是我如何獲取C#DataTable並將其放入SQL的表格聲明中?

有沒有人曾經嘗試過這樣的事情?

回答

0

您需要構建一個存儲過程(或多個)。

裏面一個MS SQL(2005年,我認爲)存儲過程,你可以創建一個表變量象下面這樣:

DECLARE @tablevar table (
    ID int not null, 
    Name nvarchar(100) not null, 
    <rest of your columns> 
) 

在SQL 2008,您還可以通過一個DataTable作爲參數傳遞給了SP來自.NET代碼。請參閱http://www.sqlteam.com/article/sql-server-2008-table-valued-parameters以瞭解如何使用(包括VB.NET示例代碼)。

0

取決於你在做什麼,你可能也想看看錶值函數和APPLY