2014-11-04 100 views
0

我想编写一个查询,其中我希望在WHERE子句中具有依赖于结果集本身中的值的条件。informix:where条款中的动态条件

举例来说,如果我有一个学生表列student_id数据,姓名,年龄,post_code,num_subjects_enrolled

我想生活在post_code =“邮编”和学生的所有名称(如果他们采取多个主题我想按年龄过滤< 20其他年龄> 20)

我想在一个查询中做所有事情。

我使用的是informix,任何帮助表示赞赏。

+0

如果所提供的答案是不足够的帮助,那么你需要澄清你的问题,特别是在以下方面“的语言是你用'在'中写入SQL。然而,基本技术通常是在字符串中建立查询,然后通过适合语言的步骤将该字符串转换为正在运行的查询。不过,细节因语言而异。 – 2015-01-20 05:33:11

回答

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) 
)