2014-04-29 51 views
0

我有幾個表如下圖所示如何爲系統等新聞提要獲取數據?

Polls 

PollId Question Option 

1  What  1 
2  Why  4 

Updates 

UpdateId Text 

1  Sleep 
2  Play 

投票和更新只是兩個示例表(現實中有更多的表像,照片,視頻,鏈接等)。但是,當用戶訪問他的家(如Facebook新聞)時,他必須顯示與他有關的數據(本例中沒有包含此類數據)。即我想從所有表中選擇數據少的查詢執行數據。 (即,我想呈現數據混合,即民意調查,照片,視頻等)

目前,我只提取id並從所有表中獲取類型(即哪個表),並在迭代時收集更多數據通過這個結果集。 (即從C#調用另一個SqlQuery)。

有沒有辦法一次查詢整個表中的數據? (OUTER JOIN?UNION?)

或者乾脆,

我怎樣才能在一個SQL查詢一次選擇不同類型的實體?

+0

我可能將它編碼爲XML,並解析它在客戶端。但一定要測試雙方(和中間)的表現。 – dean

回答

0

你可以編寫你的查詢,讓你有一個長的選擇列表中的所有你想要的,它都回來在一個結果集,但我懷疑這不會太好,因爲你可能有不同數量的不同類型的每個用戶的項目。

如果你真的必須在一次碰撞中完成所有操作,那麼你可以一次發出多個查詢並返回多個結果集。要處理這個問題,你可以使用一個ADO.Net數據集。請參閱this SO example(但不是公認的答案 - 請參閱Vikram Dibyal的答案,因爲這給出了我想要求的非常基本的概述)。

我不會從鏈接的線程中複製和粘貼東西,只是過頭看一看。