запрос к таблице, который при незаданном параметре выводил бы все значения

Лебедкин
Дата: 25.10.2005 12:25:17
… не меняя текста SQL запроса.
Например:
SELECT * FROM table WHERE id = :id
При id равном NULL вернет пустой набор (если конечно в таблице нет строк где id is null), а хотелось бы в этом случае получить все строки.
Может параметру можно какое ни будь значение типа ANY присвоить, которое бы оказалось равно любому значению поля?
Мимопроходящий
Дата: 25.10.2005 12:27:04

Привет, Лебедкин!
Ты пишешь:

Лебедкин
:: не меняя текста SQL запроса.
Л> Например:
Л> SELECT * FROM table WHERE id = :id
Л> При id равном NULL вернет пустой набор (если конечно в таблице нет строк где id is null),
Л> а хотелось бы в этом случае получить все строки.
Л> Может параметру можно какое ни будь значение типа ANY присвоить, которое бы
Л> оказалось равно любому значению поля?
Да напиши ты OR
Вопрос борзодействия - другой вопрос.

--
With best regards, Мимопроходящий.

Posted via ActualForum NNTP Server 1.3

Лебедкин
Дата: 25.10.2005 12:32:22
Мимопроходящий

Да напиши ты OR

В смысле?
SELECT * FROM table WHERE id = :id OR id is NULL ?
не катит
Мимопроходящий
Дата: 25.10.2005 12:34:25

Привет, Лебедкин!
Ты пишешь:

Лебедкин
Л> В смысле?
Л> SELECT * FROM table WHERE id = :id OR id is NULL ?
Л> не катит
Не так.
Один знак пропущен.
Пошевели мозгой.

--
With best regards, Мимопроходящий.

Posted via ActualForum NNTP Server 1.3

IvanP
Дата: 25.10.2005 12:34:34
Примитивная ХП-обертка к запросу... если НУЛЛ то один запрос, если не НУЛЛ то другой
if (id is not null)
then
for SELECT bla_bla_bla FROM table WHERE id = :id into :bla_bla_bla do suspend;
else
for SELECT bla_bla_bla FROM table into :bla_bla_bla do suspend;
Dik76
Дата: 25.10.2005 12:40:50

Лебедкин

Л> : не меняя текста SQL запроса.
Задача не имеет решения

--
Dik76

Posted via ActualForum NNTP Server 1.3

Лебедкин
Дата: 25.10.2005 12:42:09
Мимопроходящий

Один знак пропущен.
Пошевели мозгой.

SELECT * FROM table WHERE id = :id OR id is NOT NULL ?
тоже не катит, в случае если параметр задан мне все строчки не нужны.
Лебедкин
Дата: 25.10.2005 12:45:14
IvanP
Примитивная ХП-обертка к запросу... если НУЛЛ то один запрос, если не НУЛЛ то другой
if (id is not null)
then
for SELECT bla_bla_bla FROM table WHERE id = :id into :bla_bla_bla do suspend;
else
for SELECT bla_bla_bla FROM table into :bla_bla_bla do suspend;

Так еше вариант, но громоздко получется, если таких параметров несколько, и несопровождаемо совсем, если при этом еще select не является самым простейшем :(
Карабас Барабас
Дата: 25.10.2005 12:46:20
Лебедкин
SELECT * FROM table WHERE id = :id OR id is NOT NULL ?
тоже не катит, в случае если параметр задан мне все строчки не нужны
не тот символ ты поменял

Posted via ActualForum NNTP Server 1.3

Лебедкин
Дата: 25.10.2005 12:50:53
Карабас Барабас
не тот символ ты поменял
Posted via ActualForum NNTP Server 1.3

Ну скажите уже как, хватит загадки загадывать.