2016-11-03 4 views
0

行のIDに基づいて、どこで私は、MySQLにかなり新しいですが、次の操作を実行する方法を疑問に思って:条件句

SELECT name from table 
if the id=1 then SELECT name WHERE '%first%' 

else if the id in (2,3,4) then SELECT name 

基本的に、私は名前に「最初」の文字列をチェックしますidが1の場合、idが2、3、または4の場合は文字列をチェックしません。これを行う簡単な方法はありますか?私はIF関数しか見つけられませんでしたが、2つの条件を使用することはできません。また、テーブルにはID 1,2,3,4以上のものがあるので、他には言えません。私はまだIDが(2,3,4)かどうかを確認する必要があります。

ヘルプを評価してください!

答えて

3

andorの組み合わせを使用できます。

SELECT name from table 
where (id=1 and name like '%first%') 
or id in (2,3,4) 

編集:私は第三の条件を持っているものであれば、今、私が考えていたものですが、IDの1,2,3,4-

SELECT name from table 
where birthyear=1990 
and ((id=1 and name like '%first%') or id in (2,3,4)) 
+0

に適用されなければならないもう一つの条件のためのOPのコメントに基づいて、 birthday = 1990のようにid = 1とid = 2,3,4の両方に適用されます。 –

+0

編集を参照してください... –

+0

ダン、完璧です。私は、場所の直後に同様の条件を付けて、後でより具体的な条件を追加できることを認識していませんでした。助けてくれてありがとう! –

関連する問題