2012-04-08 4 views
2

У меня есть SQL-запрос, который, как этоткак выбрать несколько имен в одном запросе

select * 
from users 
where uname="ali" and uname="veli" 

но он не работает, что я хочу сделать, это получить лицо, имя которого «али» и " veli ", но если" ali "не существует и существует" veli ", то существующие должны быть возвращены. Как это сделать. это простой запрос, но я сбиваю с толку.

+0

где что-то «что-то» или что-то = «чужое»? –

+0

uname не может быть «ali» и «veli» в то же время – Dion

ответ

3

имя не может быть одновременно ali и veli. То, что вы хотите сделать, это заставить пользователей, где имя является либо али или Вели, запрос будет выглядеть следующим образом:

select * from users where (uname="ali" or uname="veli") 
+1

выберите * у пользователей, где возраст = 12 и (uname = "ali" или uname = "veli"), это правильно? – EmreAltun

6

Попробуйте это:

SELECT * 
FROM users 
WHERE uname IN ("ali", "veli") 
4

Вы можете использовать предложение ИЛИ или предложение IN в вашем sql.

Ex:

SELECT * FROM users WHERE uname='ali' OR uname='veli' 

(или)

SELECT * FROM users WHERE uname IN ('ali','veli'); 
2

Если вам необходимо как условие будет выполнено, то используйте:
select * from users where uname="ali" and uname="veli"

Если вы хотите записи, где либо Состояние удовлетворено использованием:
select * from users where uname="ali" or uname="veli"

Упование вы получили его!

1

Вам необходимо предоставить правильную логику для предложения where. В настоящее время вы запрашиваете запись, где запись uname является как «ali», так и «veli», поскольку каждая строка будет иметь только одну запись для uname, которая ничего не вернет. Правильная логика для этого запроса - «OR», поскольку он сообщает вашему движку SQL найти всю строку, где uname = 'ali' OR 'veli'. Ваш запрос будет выглядеть следующим образом:

SELECT * FROM users WHERE uname='ali' OR uname='veli'; 
Смежные вопросы