我試圖將所有數據庫報告輸出到一個報告中。我目前使用嵌套的select語句來獲取每個ID的每一行(ID的數量未知)。現在我想在一個查詢中返回每個ID的所有行(例如,如果有25行,則爲1-25)。我將如何做到這一點?TSQL:獲取給定ID的所有行
SELECT (
(SELECT ... FROM ... WHERE id = x) As Col1
(SELECT ... FROM ... WHERE id = x) As Col2
(SELECT ... FROM ... WHERE id = x) As Col3
)
編輯:下面是一個例子:
SELECT
(select post_id from posts where report_id = 1) As ID,
(select isnull(rank, 0) from results where report_id = 1 and url like '%www.testsite.com%') As Main,
(select isnull(rank, 0) from results where report_id = 1 and url like '%.testsite%' and url not like '%www.testsite%') As Sub
這將返回結果的排名主域和子域,以及有關的職位表中的ID 。
ID Main Sub
--------------------------------------
1 5 0
我想通過這個查詢循環,改變REPORT_ID到2,然後是3,然後4和,直到所有的結果都顯示矣。除了report_id之外,其他任何內容都不需要改變。
這裏是什麼表
POSTS
post_id post report_id
---------------------------------------------------------
1 "Hello, I am..." 1
2 "This may take..." 2
3 "Bla..." 2
4 "Bla..." 3
5 "Bla..." 4
RESULTS
result_id url title report_id
--------------------------------------------------------
1 http://... "Intro" 1
2 http://... "Hello!" 1
3 http://... "Question" 2
4 http://... "Help" 3
REPORTS
report_id description
---------------------------------
1 Introductions
2 Q&A
3 Starting Questions
4 Beginner Guides
5 Lectures
查詢將要拉後的第一個,從主要網站的第一個結果(WWW),並從第一個結果裏面一個基本的例子子域由他們的report_id。這些表是包含許多其他表的複雜連接結構的一部分,但爲了這些目的,這些表是唯一需要的表。
我已經成功通過創建一個表,設置變量採取的所有內容,並在while循環插入它們,然後選擇他們刪除表來解決這個問題。我會稍微留意一下,看看有沒有人拿起更好的方式來做這件事,因爲我討厭這樣做。
是每個子表從不同的表中選擇? – 2009-08-12 10:46:02
其中一些是,但他們都在where子句中使用相同的ID。 – 2009-08-12 10:46:57
您可以添加一個您的表格樣式的示例,以及您想要作爲查詢輸出的示例嗎? – Blorgbeard 2009-08-12 10:47:36