Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 使用条件选择oracle_Sql_Oracle - Fatal编程技术网

Sql 使用条件选择oracle

Sql 使用条件选择oracle,sql,oracle,Sql,Oracle,我有一个VARCHAR,它的值是aaa或bbb 我必须相信这一点 SELECT x FROM y WHERE y AND som = 1 或 我想有什么办法可以让它变成这样 SELECT i AS j, case xxx when z then som1 else som2 end as ABC FROM ... //编辑 我想制作这样的东西,比如说它的伪代码 variable VARCHAR; SELECT id FROM table WHERE a

我有一个VARCHAR,它的值是aaa或bbb 我必须相信这一点

  SELECT x FROM y WHERE y AND som = 1 

我想有什么办法可以让它变成这样

SELECT i AS j,
case xxx
      when z then som1
      else som2
  end as ABC  
FROM ...
//编辑

我想制作这样的东西,比如说它的伪代码

variable VARCHAR;

SELECT id FROM table WHERE age =
CASE variable
WHEN 'aaa' THEN 21
ELSE 'bbb' THEN 99
END
你可以用一个案例陈述

SELECT id
  FROM table
 WHERE age = (CASE WHEN variable = 'aaa' 
                   THEN 21
                   WHEN variable = 'bbb'
                   THEN 99
                   ELSE null
                END)
然而,仅仅做一个OR操作可能更有效、更容易阅读

你可以用一个案例陈述

SELECT id
  FROM table
 WHERE age = (CASE WHEN variable = 'aaa' 
                   THEN 21
                   WHEN variable = 'bbb'
                   THEN 99
                   ELSE null
                END)
然而,仅仅做一个OR操作可能更有效、更容易阅读


是的,你可以,这个案例和你写的一模一样。好吧,如果我想让这个案例变成这样,那么如果你公布你的实际表和列的名称会更好。现在很难理解,什么是表,什么是列,如果存在一个是变量。是的,你可以,这个案例完全按照你写的那样工作。好吧,如果我想这样做,那么如果你公布你的实际表和列的名称会更好。现在很难理解,什么是表,什么是列,如果存在一个是变量。
SELECT id
  FROM table
 WHERE (variable = 'aaa' AND age = 21)
    OR (variable = 'bbb' AND age = 99)