sql server 2008 r2 - 条件伪列
我有两张桌子。一件事件和一篇文章。
每个事件都有一个链接的文章,但文章可以在没有相应事件的情况下存在。
我想要做的是获取所有文章的列表,并有一个布尔伪列来指示文章是否有链接事件。
即,如果 [Events] 中存在一行,其中 ArticleID = 当前 ArticleID,则为 true,否则为 false。
I have two tables. One of events and one of articles.
Each event has a linked article, but articles can exist without corresponding events.
What I want to do is get a list of all articles and have a bool pseudo-column that indicates if the article has a linked event or not.
i.e. If exists a row in [Events] where ArticleID = the current ArticleID then true, if not than false.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用持久计算列
首先创建一个返回 true 或 false 的函数
然后添加计算列,如下所示
Use a persisted computed column
First create a function to return true or false
Then add computed column like this
从此创建一个视图
Create a view from this
如果必须保留该值,则需要在事件表上使用插入和删除后触发器来更新 Article.HasEvents 列
保留列的另一个优点是它可以建立索引
If the value must be persisted, you need an after insert and delete trigger on the Event table to update the Article.HasEvents column
Added advantage of a persisted column is that it can be indexed