【发布时间】:2014-06-08 00:18:26
【问题描述】:
我想从 Oracle 中选择一个数据。但是我有一个专栏 - CHILD_IDN - 决定哪一专栏适合我。如果该列有一个 idn,那么我需要从表中选择 CHILD ,否则默认情况下我应该选择 PARENT 。 MSSQL 允许一个简单的 CASE 语句工作。
但是甲骨文呢?是否有针对此的 Oracle vs MSSQL 兼容查询?我认为它是非标准化数据,因此需要建议。
例如
TableA
1 PARENT CHILD_IDN CHILD
2 Okay
3 Cool 1 PickMe1
4 Fine
5 Test
6 Bar 2 Pickme2
7 Hello
Now the result expected is
Okay
PickMe1
Fine
Test
Pickme2
Hellow
【问题讨论】:
-
你可以只使用coalesce 并忽略childidn 吗? ` select coalease(child, parent) as Result` coalesce 采用系列中的第一个非空值。看来您想拉入所有子项(如果存在),如果不是父项。 Coalese 在这方面做得很好。
-
对,看看 coleaease ,但我需要检查第一个非空值?需要检查一下。