【发布时间】:2016-07-11 22:49:40
【问题描述】:
我必须从 2 个表中构建一个视图:languages 和 articles
表格语言:
langId:1 langCode:en priority: 1
langId:2 langCode:da priority: 2
langId:3 langCode:es priority: 3
表文章:
langId: 1, articleId: 1 title: "First art-en" originId: "ASDF"
langId: 2, articleId: 2 title: "First art-da" originId: "ASDF"
langId: 1, articleId: 3 title: "Second art-es" originId: "AAAA"
不同语言的同一篇文章会有一个独特的OriginId。
当文章不存在特定语言时,我需要选择一个替代行,这应该基于语言优先级。
实现这一目标的最佳方法是什么? 我想避免使用 CTE/Temp 表和循环语句。
【问题讨论】:
-
避免 CTE 是否意味着避免派生表?
-
我对子查询很好,但不想创建任何临时表/公共表实体..等。这是一个视图。
标签: sql sql-server sql-server-2008 join left-join