【发布时间】:2017-01-30 14:21:03
【问题描述】:
+----+--------------+-----------+--------------++--------------+
| ID | KEY | CODE | VALUE | ACTIVE |
+----+--------------+-----------+--------------+---------------+
| 1 | MIN_VAL_EMP | 111 | 100 | Y |
+----+--------------+-----------+--------------+---------------+
| 2 | MIN_VAL_MARR | 222 | 110 | Y |
+----+--------------+-----------+--------------+---------------+
| 3 | MIN_VAL_FOOD | 0 | 10 | Y |
+----+--------------+-----------+--------------+---------------+
| 4 | MAX_VAL_EMP | 121 | 8000 | Y |
+----+--------------+-----------+--------------+---------------+
| 5 | MAX_VAL_MARR | 0 | 20 | Y |
+----+--------------+-----------+--------------+---------------+
| 6 | MAX_VAL_FOOD | 0 | 30 | Y |
+----+--------------+-----------+--------------+---------------+
| 7 | MIN_VAL_EMP | 0 | 80 | Y |
+----+--------------+-----------+--------------+---------------+
需要写一个查询,
如果我的 CODE 值存在,则获取该值,如果不存在,则获取 CODE 为 0 的那些 KEY。 此外,结果中不应有重复的 KEY,无论是带有 CODE 的 KEY 还是带有默认 CODE(0) 的 KEY。两者都不会出现。 必须注意,所有这些规则仅适用于记录的 ACTIVE = Y
例如,如果我的 CODE 是 111。
结果会是,
+----+----+--------------+-----------+--------------+
| ID | KEY | CODE | VALUE |
+----+--------------+-----------+--------------+
| 1 | MIN_VAL_EMP | 111 | 100 |
+----+--------------+-----------+--------------+
| 3 | MIN_VAL_FOOD | 0 | 10 |
+----+--------------+-----------+--------------+
| 5 | MAX_VAL_MARR | 0 | 20 |
+----+--------------+-----------+--------------+
| 6 | MAX_VAL_FOOD | 0 | 30 |
+----+--------------+-----------+--------------+
这里,下面的行将不是结果的一部分,因为我们存在 CODE 111 的 KEY。
| 7 | MIN_VAL_EMP | 0 | 80 |
【问题讨论】:
-
“est”代码是什么意思?
-
问题已修改