2015-09-29 125 views
0

我有一个表(如图)。 我想从这张表中选择一些不同的记录。例如。如果在NE_PRIO列中为“A”,则从列TIME_LEFT_OVERRUN获取+000 06:00:00至+000 04:00:00之间的正值以及-000 00:00:01至-000 02:00之间的负值:00。选择不同记录的sql

如果在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

+1

只在你的where子句中使用'CASE' - 什么是难题? – Hogan

+0

你可以请分享表结构吗? –

+0

你需要什么结果,请提供示例 – ddw147

回答

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

使用or

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

目前尚不清楚你的数据类型是什么,所以很难表达你提到其余的条件。