SQL Server SQL запрос - PullRequest
       3

SQL Server SQL запрос

1 голос
/ 14 сентября 2009

в моем приложении пользователь может указать имя пользователя или email для входа в систему, как я могу написать запрос, например

select username,password from employee
where username='xxxx' or 'xxxx@yahoo.com' and password='******' 

как мне написать запрос, чтобы пользователь мог указать имя пользователя или email для входа в систему. пожалуйста, отправьте запрос по этой проблеме спасибо u

Ответы [ 3 ]

4 голосов
/ 14 сентября 2009

Решение:

select username,password from employee where (username='xxxx' or username='xxxx@yahoo.com') and password='******'

Почему? Была ошибка приоритета оператора:

A or B and C === A or (B and C)

Когда скобки не указаны И оператор имеет 1-й приоритет. В логической математике оператор И подобен умножению, а оператор ИЛИ - сложению в обычной математике.

0 голосов
/ 14 сентября 2009

попробуйте

select username,password from employee 
where (username='xxxx' and password='******') 
or (username='xxxx@yahoo.com' and password='******') 
0 голосов
/ 14 сентября 2009

Вы уже дали запрос. Единственное, что вам нужно сделать, это добавить фигурные скобки, чтобы условия логически сгруппировались так, чтобы ...

Как это:

WHERE ( username = '' and password = '' ) or (email = '' and password = '' )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...