【发布时间】:2014-08-01 01:47:43
【问题描述】:
带值的表:
Id Val1 Val2
1 111 1
2 101 2
3 3
4 120 1
5 121
它有以下限制:
Val2只能有三个值 (1,2,3)。Val1可以有许多不同的值,包括null,但不能有 1,2 或 3。
我想选择不同的 val1,val2 值,但有以下例外:
如果
Val1是null并且Val2不是1,那么我将Val1设置为999。如果
Val1是null,而Val2是1,那么我将Val1设置为999,不选择Val2。如果
Val1 is notnull, andVal2is 1, then I selectVal2`。
结果应该是(如果 val1 有空值,而 val2 有 1):
111
101
120
999 (null value set to 999)
121
2
3
结果应该是(如果 val1 没有空值,而 val2 有 1):
111
101
120
121
1
2
3
结果应该是(如果 val1 有空值,而 val2 没有 1):
111
101
999 (null value1 set to 999)
120
121
2
3
【问题讨论】:
-
也许你也应该显示结果表的样子,因为你想要的描述是一团糟。
-
@Coda17 有它,格式化一个预期的结果表,就像你有你的价值观一样。包括您尝试过的 sql 和 sql fiddle 也不会受到伤害。
标签: sql