1
yangqi 2014-02-12 23:55:38 +08:00 1
你这个逻辑就不成立啊。。。region=1,7,3的时候,你LOG不可能给予多个值啊。。。
IN()是条件判断,不是赋值。。。你先把你想要做的表达出来 |
2
junjies OP @yangqi 恩,从region到IOG不是赋值的关系, 是关系的判断。
其实我想要的就是我设置了region之后,在where条件里我的iog一定是这几个值之一, 可能我的表达太绕了, 其实就是想拿到从一个值到一个list的映射 |
3
junjies OP 这种 。没有办法么?
|
4
yangqi 2014-02-13 00:33:48 +08:00
明白了,可以试这样
case when REGION = 1 THEN IOG in (1,2,14,37,72,101) WHEN REGION = 7 THEN IOG in (11,22,48,77) WHEN REGION = 3 THEN IOG in (7,13,18,24,39) END |
5
yangqi 2014-02-13 00:34:20 +08:00
当然,上面的是在where后面的
|
6
junjies OP @yangqi 好像when后面不能接条件表达式http://www.techonthenet.com/oracle/functions/case.php
|
7
yangqi 2014-02-13 11:15:02 +08:00
@junjies 这不是明确写着可以的么
CASE [ expression ] WHEN condition_1 THEN result_1 WHEN condition_2 THEN result_2 ... WHEN condition_n THEN result_n ELSE result END |
8
yangqi 2014-02-13 12:15:19 +08:00
好吧, 貌似是不可以的
|