sql选择不同的记录

时间:2015-09-29 13:24:37

标签: sql oracle

我有一张桌子(见图)。 我想从这张表中选择一些不同的记录。对于前者如果在列NE_PRIO中为“A”,则从列TIME_LEFT_OVERRUN中取正值在+000 06:00:00和+000 04:00:00之间,负值在-000 00:00:01和-000 02:00之间:00

如果在列NE_PRIO中为“B”,则从TIME_LEFT_OVERRUN列中取正值在+000 24:00:00和+000 14:00:00之间,如果有负值则在-000 00:00之间取值:01和-000 10:00:00  

我希望只有选中的行! enter image description here

2 个答案:

答案 0 :(得分:0)

简单的方法是创建两个单独的SELECT,每个NE_PRIO一个,然后使用UNION将它们作为单个查询返回。

SELECT * FROM TABLE_LIKE_PICTURE WHERE  NE_PRIO = "A" AND (ADD YOUR CONDITIONS)

UNION
SELECT * FROM TABLE_LIKE_PICTURE WHERE  NE_PRIO = "B" AND (ADD DIFFERENT CONDITIONS)

答案 1 :(得分:0)

使用or

select *
from table t
where (ne_prio = 'A' and . . . ) or
      (ne_prio = 'B' and . . .)

目前尚不清楚您的数据类型是什么,因此很难表达您提及的其他条件。