2017-10-11 84 views
-2

我会在这里需要一些帮助MySQL的嵌套WHERE - OR

问题是 - 后WHERE子句我只需要行,其中CBI严格或高或有组合,其中CBI是中型和优先级为1

不幸的是,我仍然在行,例如, CBI是中等和优先级是2

SELECT * FROM main_table WHERE (cbi='Critical' OR cbi='High' OR (cbi='Medium' AND priority='1')) 
    AND start_date BETWEEN (NOW() - INTERVAL 12 HOUR) AND NOW() 
     OR involvement_date BETWEEN (NOW() - INTERVAL 12 HOUR) AND NOW() 
     OR finnish_date BETWEEN (NOW() - INTERVAL 12 HOUR) AND NOW(); 
+0

所以最近你提出的问题是什么 – Bhargav

回答

3

您的问题是或选择了这些选项之间的日期。必须有括号围绕

SELECT * FROM main_table WHERE (cbi='Critical' OR cbi='High' OR (cbi='Medium' AND priority='1')) 
    AND (start_date BETWEEN (NOW() - INTERVAL 12 HOUR) AND NOW() 
     OR involvement_date BETWEEN (NOW() - INTERVAL 12 HOUR) AND NOW() 
     OR finnish_date BETWEEN (NOW() - INTERVAL 12 HOUR) AND NOW());