2016-11-11 4 views
0

Я не могу найти подходящее решение для этого. Вот сценарий, я хочу добавить условие, если параметр равен 0. Похоже что-то вродеДобавление условия, где условно

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

Вы probaby хотите 'CASE', но трудно угадать так мало информации Пожалуйста, прочитайте [** Как к Ask ** ] (http://stackoverflow.com/help/how-to-ask) \t \t И вот отличное место для [** START **] (http://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum /), чтобы узнать, как улучшить качество вопроса и получить лучшие ответы. –

ответ

3

В MySQL, IF является функцией (это как тройной оператор в C и PHP). Вы можете вернуть TRUE из него в случае, когда вам ничего не нужно.

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

Другой способ сделать это с OR:

WHERE name = @name AND (@id = 0 OR id = @id)