2017-02-20 65 views
0

有没有办法执行查询,具体取决于某个列的结果?有条件地执行查询

我的表有一列col1,它可能是NULL。我想先检查一下。如果col1不为NULL,则执行另一个查询,如果col1为NULL,则不执行任何操作(或返回其他内容)。

伪代码可能是这样的:

IF (SELECT col1 IS NUT NULL FROM `tab1`) 
THEN (SELECT col1, col2, col3 FROM `tab1`) 

PS:我执行这些查询从PHP,所以它也将是可能的,要检查的col1与PHP的结果,但我宁愿使用普通的SQL。

+0

https://dev.mysql.com/doc/refman/5.7/en/control-flow-functions.html –

+0

HTTP://www.sql .org/sql-database/postgresql/manual/functions-conditional.html – Aloso

+1

这只是一个WHERE子句:'SELECT col1,col2,col3 FROM tab1 WHERE col1 IS NOT NULL;' – JNevill

回答

1

where子句是你的,如果

select col1, col2, col3 FROM `tab1` 
    where col1 IS NOT NULL