【发布时间】:2011-09-02 08:11:17
【问题描述】:
假设有一个 MSSQL 表 UserPost,它代表用户发布的内容,具有以下字段:
ID | dateAdded | parentPostID | postBody
系统中的一个用户可以创建一个Request,接收一个Response,然后其他用户可以Comment对Response 。即,请求 响应 评论(想想 StackOverlow 的问题 > 答案 > 评论模型)。
所有用户帖子(Request、Response 和 Comment)由 UserPost 行表示,其中 Request 具有parentPostID = null;; Responses 的parentPostID 是Request 的ID,Comment 的parentPostID 是Response 的ID。
我需要以一种简单的方式输出所有内容:
Request 1
- Response A
-- Comment (i)
-- Comment (ii)
- Response B
-- Comment (i)
Request 2
...
问题:哪个 SQL 语句以最有用的方式返回所需的信息?
我正在努力在 (UserPosts) as Requests [join] (UserPosts) as Responses [join] (UsersPosts) as Comments 之间编写三向连接,但我不确定这是最简单的方法。
奖励:是否可以使用 C# Linq 做到这一点?
【问题讨论】:
标签: c# sql linq sql-server-2008 join