相关疑难解决方法(0)

选择所有记录,如果连接存在则连接表A,如果不存在则连接表B

所以这是我的场景:

我正在为我的一个项目进行本地化,通常我会在 C# 代码中执行此操作,但是我想在 SQL 中执行更多此操作,因为我试图稍微增强我的 SQL。

环境:SQL Server 2014 Standard,C# (.NET 4.5.1)

注意:编程语言本身应该是无关紧要的,我只是为了完整性而包括它。

所以我在某种程度上完成了我想要的,但没有达到我想要的程度。JOIN除了基本的SQL之外,我已经有一段时间(至少一年)完成了任何 SQL ,这是一个相当复杂的JOIN.

这是数据库相关表的图表。(还有很多,但这部分不是必需的。)

数据库图表

图像中描述的所有关系在数据库中都是完整的 -PKFK约束都是设置和操作的。所描述的列都null不能。所有的表都有架构dbo

现在,我有一个查询几乎可以满足我的要求:也就是说,给定ANY Id ofSupportCategoriesANY Id of Languages,它将返回:

如果有合适的,正确的翻译是语言该字符串(即StringKeyId- >StringKeys.Id存在,并在LanguageStringTranslations StringKeyIdLanguageId以及StringTranslationId是否同时存在,那么它的负载StringTranslations.TextStringTranslationId

如果LanguageStringTranslations StringKeyIdLanguageIdStringTranslationId组合没有存在,那么它加载的StringKeys.Name值。该Languages.Id是给定的integer

我的查询,是否一团糟,如下:

SELECT …
Run Code Online (Sandbox Code Playgroud)

sql-server t-sql sql-server-2014

21
推荐指数
2
解决办法
4万
查看次数

标签 统计

sql-server ×1

sql-server-2014 ×1

t-sql ×1