SQL заявка от-до за 2 полета / Бяга ми логиката

uphero

Registered
Здравейте,позабравил съм ги тея неща явно щом една заявка не мога да измъдря.
Та имам 2 полета с числови стойности и трябва да стане нещо подобно
[sql]price<'$price_max' AND price>'$price_min' AND percents>'$percent_min' AND percents<'$percent_max'[/sql]
като трябва да се вземат само резултатите които са по голени от минимум променливата и по-малки от макс променливата.
Но нещо не се получава,дайте идея как да си наглася логиката,че ми се губи нещо
 
[sql](price<'$price_max' AND price>'$price_min' ) AND (percents>'$percent_min' AND percents<'$percent_max')[/sql]

Пробвай така със скоби или със BETWEEN, макар че с between пак ще ти трябват скоби.
 
pLe0mAx каза:
[sql](price<'$price_max' AND price>'$price_min' ) AND (percents>'$percent_min' AND percents<'$percent_max')[/sql]

Пробвай така със скоби или със BETWEEN, макар че с between пак ще ти трябват скоби.
BETWEEN свърши работа,но какъв е синтаксиса ако се ползва за 2 полета едновременно?
[sql]SELECT * FROM Products
WHERE Price BETWEEN 2 AND 20;
[/sql]
как да добавя и още едно поле тук?[/css]
 
[sql]SELECT * FROM Products WHERE Price BETWEEN 2 && 20 AND percents BETWEEN 2 && 20;
[/sql]
Мисля, че && е по-високо от АND, така че това би трябвало да свърши работа. Иначе скобите си остават най-сигурния вариант.
 
anonimen каза:
[sql]SELECT * FROM Products WHERE Price BETWEEN 2 && 20 AND percents BETWEEN 2 && 20;
[/sql]
Мисля, че && е по-високо от АND, така че това би трябвало да свърши работа. Иначе скобите си остават най-сигурния вариант.

Това е вярно за РНР, но не и за SQL. Конкретно тази заявка ще му даде грешка в синтаксиса, защото & не се използва в SQL.

Заявката си му е съвсем правилна, а "нещо не се получава" ние няма как да знаем какво е, или няма достатъчно данни в таблицата и за двете колони, или не се подават правилни стойности.

Друг често срещан проблем, е ако в текстови полета (varchar) записва числа (int, float, decimal). Но това отново не е проблем със заявката, а със структурата на таблицата.
 
exec каза:
anonimen каза:
[sql]SELECT * FROM Products WHERE Price BETWEEN 2 && 20 AND percents BETWEEN 2 && 20;
[/sql]
Мисля, че && е по-високо от АND, така че това би трябвало да свърши работа. Иначе скобите си остават най-сигурния вариант.

Това е вярно за РНР, но не и за SQL. Конкретно тази заявка ще му даде грешка в синтаксиса, защото & не се използва в SQL.

Заявката си му е съвсем правилна, а "нещо не се получава" ние няма как да знаем какво е, или няма достатъчно данни в таблицата и за двете колони, или не се подават правилни стойности.

Друг често срещан проблем, е ако в текстови полета (varchar) записва числа (int, float, decimal). Но това отново не е проблем със заявката, а със структурата на таблицата.
Точно! Полетата не бяха int , след като оптимизирах таблицата всичко е Ок.
Благодаря ви
 

Back
Горе