我有一个表名书籍,声明,章节,章节,帖子。 Post表有一个列名 DisplayMessage ,我需要获得一个独特的记录。
2 ways it can be mapped in UI
First way is
Book , Statement, Chapter, Section, Post.
OR
Book , Statement,Chapter, Post. (Post has the Column "Message")
正如您所看到的,如果用户希望将 TABLE部分包含在该章的UI中,则取决于用户。
这是我写的PROC
@Temptable TABLE
(
PK_Chapter INT
ChapterName NVARCHAR
SectionName NVARCHAR
PostName NVARCHAR
Message NVARCHAR(526)
)
Insert into @Temptable
Select Distinct
PK_Chapter
ChapterName
SectionName
PostName
Message
From Book b
INNER JOIN Chapter c ON b.PK_Book = c.FK_Book --Chapter
INNER JOIN Section s ON c.PK_Chapter = s.FK_Chapter --Section
INNER JOIN Post p ON s.PK_Section = p.FK_Section --Post
UNION
Select Distinct
PK_Chapter
ChapterName
SectionName
PostName
Message
From Book b -- Book
INNER JOIN Chapter c ON b.PK_Book = c.FK_Book --Chapter
INNER JOIN Post p ON c.PK_Chapter= p.FK_Chapter --Post
Select * from @Temptable
它正在工作,但我想有一个更好的思考方式和使用temptable编写一个proc。 我需要从A到D得到D具有价值。简单来说,我可以使用A,B,C,D.VALUE(需要DISTINCT) 但我可以选择不使用C. 我也可以去A,B,D.VALUE 谢谢你看看。