在動網論壇中,用戶登錄以后,論壇菜單下方會多出兩條鏈接,即:“我發布的主題”和“我參與的主題”。前者的查詢簡單一些,只需要查詢登錄用戶發布的主題就行,可以寫成“Select 主題 貼子表 where 作者=登錄用戶名”就行了,但后一條就麻煩一些了。這里假使主題貼和回復貼都是在一個數據表中,每條記錄只用一個字段區分開來是主題貼和回復貼,我就是這樣做的。我們知道,通常情況下,發布回復的時候,是可以省略標題的,假使我們如前一條一樣搜索的話,得出的搜索結果中是沒有標題這一項的,這樣就無法顯示出來,所以必須顯示該回復對對應的貼子的主題。這個查詢又是怎么來做的呢? 我們先來看一看動網的代碼: 以下是代碼片段:
"select top 200 * from topic where topicid in (select top 200 rootid from "&NowUseBBS&" where postuserid="&userid&" order by announceid desc) order by topicid desc"