无法绑定多个部份组成的标示符
if exists (select 1 from sys.objects where name = 'v_Forums' and type = 'V')
drop view [dbo].[v_Forums]
go
create VIEW v_Forums
as
select FC.CategoryID,CategoryName,CategoryImageUrl,CategoryPosition,ForumID,
ForumName,ForumDescription,ForumPosition,
(select COUNT(*)from Topics
where Topics.ForumID = FF.ForumID)as ForumTopics,
(select COUNT(*)from Topics where Topics.ForumID = FF.ForumID)+
(select COUNT(*)from Replies where Replies.ForumID = FF.ForumID)as ForumPosts,
(select MAX(AddedDate)
from (select ForumID,AddedDate from Topics union all select ForumID,AddedDate from Replies)
as dates where dates.ForumID =FF.ForumID)as ForumLastPostDate from Categories FC inner join Forums FF
on FC.CategoryID = FF.CategoryID
go
if exists (select 1 from sys.objects where name = 'v_Topics' and type = 'V')
drop view [dbo].[v_Topics]
go
create view v_Topics
as
select v.Forums.CategoryID,CategoryName,CategoryPosition,v_Forums.ForumID , ForumName,
ForumDescription,FroumPostion,ForumTopics,ForumPosts,
Topics.TopicID,Topics.[Subject],Topics.[Message],Topics.AddedDate,UserIP,
(select COUNT(*) from Replies
where Replies.TopicID = Topics.TopicID)as TopicReplies,
(select MAX(AddedDate)from Replies
where Replies.TopicID = Topics.TopicID)as TopicLastReplyDate,
(select MAX(AddedDate)from (select TopicID,AddedDate from Topics union all
select TopicID,AddedDate from Replies)as dates where dates.TopicID = Topics.TopicID)as TopicLastPostDate,
Users.UserID,userName,NickName,Email,Question,Answer,Sex,ShowEmail,[Signature],ImageUrl,Users.AddedDate as UserAddedDate
from dbo.v_Forums inner join Topics on v_Forums.ForumID = Topics.ForumID
inner join Users on Topics.UserID =Users.UserID
go
if exists (select 1 from sys.objects where name = 'v_Replies'and type = 'v')
drop view [dbo].[v_Replies]
go
create view dbo.v_Replies
as
select v_Forums.CategoryID,CategoryName,v_Forums.ForumID , ForumName,
Topics.TopicID,Replies.ReplyID,Replies.[Message],Replies.AddedDate,Replies.UserIP,
Users.UserID,UserName,NickName,ShowEmail,[Signature],ImageUrl,Email
from Topics inner join Replies on Topics.TopicID = Replies.TopicID
inner join v_Forums on Topics.ForumID = v_Forums.ForumID
inner join Users on Replies.UserID = Users.UserID
go