SQL! ну может с этим кто-что умное скажет...
Модератор: Модераторы
-
Джентельмен
- постоялец
- Сообщения: 162
- Зарегистрирован: 16.10.2005 10:47:26
- Откуда: Украина Донбасс Краматорск
- Контактная информация:
SQL! ну может с этим кто-что умное скажет...
Вообщем вопрос по SQL запросам...
ну не хочу я ити на форум sql.ru... ну нравитса мне здесь... правда на мои вопросы не всегда отвечают, но то ниче...
а проблема такая...
есть sql запрос... типа:
select id, data, sclad_id from sclad_osn where data > '03.09.2006' and sclad_id = 'x' order by id
вот...
значение х может принимать 1,2,3,4... и т. д.
и соответсвенно из таблицы выбираютса все данные которым sclad_id равно x...
внимание вопрос!
какое значение нужно присвоить x что бы выбрались все записи?
p.s. sclad_id = 'x' - в запросе должно быть обезательно, можно менять только его значения.
ну не хочу я ити на форум sql.ru... ну нравитса мне здесь... правда на мои вопросы не всегда отвечают, но то ниче...
а проблема такая...
есть sql запрос... типа:
select id, data, sclad_id from sclad_osn where data > '03.09.2006' and sclad_id = 'x' order by id
вот...
значение х может принимать 1,2,3,4... и т. д.
и соответсвенно из таблицы выбираютса все данные которым sclad_id равно x...
внимание вопрос!
какое значение нужно присвоить x что бы выбрались все записи?
p.s. sclad_id = 'x' - в запросе должно быть обезательно, можно менять только его значения.
-
Джентельмен
- постоялец
- Сообщения: 162
- Зарегистрирован: 16.10.2005 10:47:26
- Откуда: Украина Донбасс Краматорск
- Контактная информация:
- Сергей Смирнов
- энтузиаст
- Сообщения: 595
- Зарегистрирован: 28.04.2005 13:23:25
- Откуда: Москва
- Контактная информация:
-
Джентельмен
- постоялец
- Сообщения: 162
- Зарегистрирован: 16.10.2005 10:47:26
- Откуда: Украина Донбасс Краматорск
- Контактная информация:
- Сергей Смирнов
- энтузиаст
- Сообщения: 595
- Зарегистрирован: 28.04.2005 13:23:25
- Откуда: Москва
- Контактная информация:
-
Джентельмен
- постоялец
- Сообщения: 162
- Зарегистрирован: 16.10.2005 10:47:26
- Откуда: Украина Донбасс Краматорск
- Контактная информация:
да...
х: это строковая переменная...
стоп...
а если я там интейджер поставлю...
и без кавычек...
а все равно так не заработает...
работает...
но не так как надо...
чето он нето навыбирал...
я написал ?1 он выбрал одну запись 2 и одну запись 1, хотя должен был бы выбрать все записи...
не не нравитса такой вариант...
еще предложения!?
х: это строковая переменная...
стоп...
а если я там интейджер поставлю...
и без кавычек...
а все равно так не заработает...
работает...
но не так как надо...
чето он нето навыбирал...
я написал ?1 он выбрал одну запись 2 и одну запись 1, хотя должен был бы выбрать все записи...
не не нравитса такой вариант...
еще предложения!?
вам ехать или шашечки?(читай подпись)
(sclad_id = '8' ) OR ('8' IS NULL)
где вместо 8 - ваше любое значение
так понятно?
или наподобии как ты в начале написал
(sclad_id = 'x') OR ('x' IS NULL)
учти интежер намного быстрее стринга.
а в сравнении не бывает всяких там звездочек или вопросиков, они бывают только в LIKE
но работает он ГОРАЗДО медленней
sclad_id LIKE x
где x может быть строкой или _(один любой символ) или %(что угодно)
(sclad_id = '8' ) OR ('8' IS NULL)
где вместо 8 - ваше любое значение
так понятно?
или наподобии как ты в начале написал
(sclad_id = 'x') OR ('x' IS NULL)
учти интежер намного быстрее стринга.
а в сравнении не бывает всяких там звездочек или вопросиков, они бывают только в LIKE
но работает он ГОРАЗДО медленней
sclad_id LIKE x
где x может быть строкой или _(один любой символ) или %(что угодно)
может быть так понятнее:
((sclad_id = :sclad_id ) or (:all_sclad_id = 1)) and ...
выбираем конкретный sclad_id:
ParamByName('sclad_id').AsInteger := 8;
ParamByName('all_sclad_id').AsInteger := 0;
выбираем все sclad_id:
//ParamByName('sclad_id').AsInteger := 8; // тут всё равно что присваивать
ParamByName('all_sclad_id').AsInteger := 1;
((sclad_id = :sclad_id ) or (:all_sclad_id = 1)) and ...
выбираем конкретный sclad_id:
ParamByName('sclad_id').AsInteger := 8;
ParamByName('all_sclad_id').AsInteger := 0;
выбираем все sclad_id:
//ParamByName('sclad_id').AsInteger := 8; // тут всё равно что присваивать
ParamByName('all_sclad_id').AsInteger := 1;
