informix:where子句中的动态条件

时间:2014-11-04 15:01:05

标签: where informix

我想编写一个查询,其中我想在WHERE子句中有条件,这些条件依赖于结果集本身的值。

例如,如果我有一个包含student_id,name,age,post_code,num_subjects_enrolled

列的STUDENT表

我希望得到所有生活在post_code =&#39; POSTCODE&#39;并且(如果他们需要多个主题我想按年龄过滤<20岁年龄> 20岁)

我想在一个查询中完成所有操作。

我正在使用informix,感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

我认为您可以使用一些ANDOR逻辑构建它:

SELECT name FROM student WHERE post_code = '12345'
AND
 (
   (num_subjects_enrolled > 1 AND age < 20)
   OR
   (num_subjects_enrolled <= 1 AND age >= 20)
 )