2016-11-11 23 views
0

私はこのための適切な解決策を見つけることができないようです。パラメータが0の場合ここで私は するシナリオは、条件を追加していますMySQLで条件を追加する条件を追加する

SELECT * FROM TABLE WHERE name = @name AND 
//this is the part I dont know but I want something like 
IF(@id = 0) 
{ 
//do nothing 
}else{ 
id = @id 
} 
+1

が、これほど少ないの情報を推測するのは難しいですどのように対依頼** [お読みください** ](http://stackoverflow.com/help/how-to-ask) \t \t [** START **](http://spaghettidba.com/2015/04/24)に最適な場所です/ how-to-post-at-a-public-forum-on-a-public-forum /)を使用して質問品質を改善し、より良い回答を得る方法を学びます。 –

答えて

3

ようになり、IFは(それはCとPHPの三項演算子のようなものだ)関数です。何もする必要がない場合はTRUEを返すことができます。それを行うには

SELECT * 
FROM Table 
WHERE name = @name 
AND IF(@id = 0, TRUE, id = @id) 

もう一つの方法は、ORである:あなたがprobaby `CASE`をしたい

WHERE name = @name AND (@id = 0 OR id = @id) 
関連する問題