2009-09-14 6 views
1

в моем пользователь приложения может дать имя пользователя или EMAILID войти как я могу написать запрос, какSQL Server SQL запрос

select username,password from employee 
where username='xxxx' or '[email protected]' and password='******' 

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

+1

@surya: тогда вы должны сделать вежливую и правильную вещь и принять лучший ответ/тот, который действительно решил вашу проблему. Чтобы принять ответ, нажмите на галочку слева от ответа ниже «0» стрелкой вверх и вниз. Если кто-то помогает вам, пожалуйста, будьте любезны принять ответ. –

ответ

0

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

Как это:

WHERE (username = '' and password = '') or (email = '' and password = '') 
+0

спасибо u frederik gheysels хорошо –

+0

@surya: тогда вы должны сделать вежливую и правильную вещь и принять ответ - нажмите на галочку слева от ответа ниже «0» с помощью стрелки вверх и вниз , Если кто-то помогает вам, пожалуйста, будьте любезны принять ответ. –

0

попробовать этот

select username,password from employee 
where (username='xxxx' and password='******') 
or (username='[email protected]' and password='******') 
+0

thank u rruz работает –

4

Решение:

select username,password from employee where (username='xxxx' or username='[email protected]') and password='******' 

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

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

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

+0

приятно одно хорошее объяснение спасибо rafal ziolkowski –

+0

Добро пожаловать! Вопросительный знак ответа был бы очень оценен :) –