|
|
1
3
要将标量子查询转换为联接,需要使用外部联接而不是内部联接,并使用相关谓词作为联接条件。 在您的例子中,这意味着查询看起来像:
注意,我已经将您的解码转换为合并,因为您想要显示clm.provider(如果不是空值)或pr.name(如果是空值)。coalesce只返回第一个非空值。 我还将您的查询转换为使用ansi连接,而不是旧样式的连接;这使您更清楚地了解什么是连接条件,什么是谓词。 |
|
|
2
2
你需要使用 外面的 join,使用ansi语法要简单得多(尽管您无论如何都应该使用);类似于:
这个
也可以使用case表达式或
正如@bonest所指出的,您可能需要包含一个附加条件,该条件存在于子查询中,但不存在于您的连接尝试中:
但不清楚你是不是故意漏掉了。 |
|
|
maddy · 如何根据oracle SQL中的某一列值进行排名 3 年前 |
|
|
kiric8494 · 显示以元音开头和结尾的城市名称 4 年前 |
|
|
Franz Biberkopf · Oracle:组合子查询和聚合函数 4 年前 |
|
|
BitLauncher · 甲骨文-如何模拟位列和布尔和/或? 4 年前 |
|
|
Arifullah · 如何从oracle中的列中删除特定的初始字符? 4 年前 |
|
|
Anar · Oracle SQL用户定义函数 4 年前 |
|
|
user1312312 · 如何为一组表编写通用触发器? 4 年前 |