2013-08-21 5 views
2

Я хочу получить запрос через мою таблицу Membership, чтобы получить результат для определенного пользователя, но я получаю неправильный результат. Вот мой запрос:Как получить правильный результат в sql-запросе?

select MemNo, MemDOB, MemberType, MemShrBal 
    From Membership 
    Where MemberType = 1 or MemberType = 2 
    and MemDOB > '1973/12/31' 
    and MemShrBal = 250.00 

Может кто-нибудь помочь мне выяснить, почему: помимо собственно членов записей Я также получаю те, член записей MemShrBal более 250,0 и MemDOB ниже «1973»?

+1

«При объединении этих условий [И/ИЛИ], это важно используйте скобки, чтобы база данных знала, какой порядок оценивать каждое условие ». – peter

+0

Да, у меня была какая-то проблема с кронштейном. Теперь все в порядке .. спасибо за ваш ответ. – barsan

ответ

9

Вы нужны скобки:

select MemNo, MemDOB, MemberType, MemShrBal 
    From Membership 
    Where (MemberType = 1 or MemberType = 2) 
    and MemDOB > '1973/12/31' 
    and MemShrBal = 250.00 

and св зываетс более плотно, чем or, поэтому без скобок, это

MemberType = 1 

    or 
     MemberType = 2 
     and MemDOB > '1973/12/31' 
     and MemShrBal = 250.00 
+0

Спасибо большое ... ты спас меня много времени друг ... Я действительно так благодарен .. – barsan

Смежные вопросы