Aro Infantraj
Aro Infantraj

Reputation: 13

Using And & OR condition in MySQl With Same Query

How to use the And, OR condition in the same MySQL where query.

SELECT * FROM Table_name
WHERE filed_name = 0 AND (field1 != '' AND field2 ='')
OR (field1 = '' AND field2 != '') AND filed3 = 1;

I want to more than 2 fileds in brackets.

Upvotes: 0

Views: 1150

Answers (2)

ScaisEdge
ScaisEdge

Reputation: 133360

SQL refer to columns (not at fields) anyway you can use all the columns you need in each where condition

    SELECT * 
    FROM Table_name
    WHERE col0 = 0 
    AND col1 != '' 
    AND col2 =''
    OR (col1 = '' AND col2 != '' AND col3 ='YOUR_VALUE') 
    AND col3 = 1
    OR (col4 = 'your_value4' AND col5> 100 );

the parentheses are needed for change the priority in evalaution of the condition ...

Upvotes: 0

Paul Maxwell
Paul Maxwell

Reputation: 35563

You can include as many conditions as you need within parentheses, but you do need to be careful with OR and you may find it necessary to combine multiple sets of conditions with parentheses. When this happens consistent formatting and use of indents can help you maintain the required logic.

SELECT * 
FROM Table_name
WHERE (field_name = 0 
  AND (field1 != '' AND field2 ='')
      )
OR  (field3 = 1
 AND (field1 = '' AND field2 != '')
      )
;

Do note that the query above is a guess; I have assumed you need 2 sets of conditions.

Upvotes: 1

Related Questions