无法绑定多个部份组成的标示符

lovesmil6789 2011-06-29 05:50:52
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
...全文
41 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
燃烧土豆 2011-06-29
  • 打赏
  • 举报
回复
建议给表名起个别名先再贴上来 如 select a.XX from [tablename] a (nolock)
记得后面加(nolock) 不锁表查询会更快
燃烧土豆 2011-06-29
  • 打赏
  • 举报
回复
语句真长看得累
lovesmil6789 2011-06-29
  • 打赏
  • 举报
回复
就是这段代码有问题,提示无法绑定多个部份组成的标示符
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
lovesmil6789 2011-06-29
  • 打赏
  • 举报
回复
就是不能创建视图,不知为什么
daifei4451 2011-06-29
  • 打赏
  • 举报
回复
你有某个列在多个表里面存在 但是你前面没有加标注 你仔细看一下
  • 打赏
  • 举报
回复
然后捏?

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧