Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Помогите найти ошибку в запросе  [new]
help2009
Member

Откуда:
Сообщений: 21
Помогите найти ошибку

SELECT*
FROM table
WHERE ((raion = q) OR (q = 'любой') AND (S BETWEEN w AND e) AND (cena BETWEEN r AND t)) AND ((vid = y) OR (y = 0))
ORDER BY `data` DESC

Не работает выборка по S и cena. (S BETWEEN w AND e) нужно чтобы выдавал от и до, тоже самое с (cena BETWEEN r AND t)
12 авг 09, 15:51    [7528841]     Ответить | Цитировать Сообщить модератору
 Re: Помогите найти ошибку в запросе  [new]
Алексей2003
Member

Откуда: Москва
Сообщений: 5645
это печально, конечно.
а с чего вы взяли что не работает выборка?

для спящего время бодрствования равносильно сну
12 авг 09, 15:54    [7528869]     Ответить | Цитировать Сообщить модератору
 Re: Помогите найти ошибку в запросе  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
help2009
Помогите найти ошибку

SELECT*
FROM table
WHERE ((raion = q) OR (q = 'любой') AND (S BETWEEN w AND e) AND (cena BETWEEN r AND t)) AND ((vid = y) OR (y = 0))
ORDER BY `data` DESC

Не работает выборка по S и cena. (S BETWEEN w AND e) нужно чтобы выдавал от и до, тоже самое с (cena BETWEEN r AND t)
Читайте про приоритеты операторов.
Пользуйтесь скобками там, где это надо (у Вас они стоят там, где не обязательно, а там, где надо, не стоят).
Как по_Вашему, что имеет приоритет выше - AND или OR?
12 авг 09, 15:58    [7528897]     Ответить | Цитировать Сообщить модератору
 Re: Помогите найти ошибку в запросе  [new]
Алексей2003
Member

Откуда: Москва
Сообщений: 5645
iap
help2009
Помогите найти ошибку

SELECT*
FROM table
WHERE ((raion = q) OR (q = 'любой') AND (S BETWEEN w AND e) AND (cena BETWEEN r AND t)) AND ((vid = y) OR (y = 0))
ORDER BY `data` DESC

Не работает выборка по S и cena. (S BETWEEN w AND e) нужно чтобы выдавал от и до, тоже самое с (cena BETWEEN r AND t)
Читайте про приоритеты операторов.
Пользуйтесь скобками там, где это надо (у Вас они стоят там, где не обязательно, а там, где надо, не стоят).
Как по_Вашему, что имеет приоритет выше - AND или OR?

может ему такая математика и нужна?
или район = q или любой, но тогда S и cena отбираются...?
12 авг 09, 16:00    [7528912]     Ответить | Цитировать Сообщить модератору
 Re: Помогите найти ошибку в запросе  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
Могу только догадываться
SELECT*
FROM table
WHERE (raion = q OR q = 'любой') AND S BETWEEN w AND e AND cena BETWEEN r AND t AND (vid = y OR y = 0)
ORDER BY data DESC
Так должно быть?
12 авг 09, 16:01    [7528924]     Ответить | Цитировать Сообщить модератору
 Re: помогите разобраться с привелегиями пользователей  [new]
help2009
Member

Откуда:
Сообщений: 21
12 авг 09, 18:42    [7530031]     Ответить | Цитировать Сообщить модератору
 Re: Помогите найти ошибку в запросе  [new]
help2009
Member

Откуда:
Сообщений: 21
Всем спасибо. Сам разобрался
12 авг 09, 18:42    [7530036]     Ответить | Цитировать Сообщить модератору
 Re: Помогите найти ошибку в запросе  [new]
Алексей2003
Member

Откуда: Москва
Сообщений: 5645
help2009
Всем спасибо. Сам разобрался

это тоже печально..
12 авг 09, 19:04    [7530093]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить