может кто-нибудь знает

Eter Panji
Дата: 10.12.2002 10:49:22
Можно ли как-то заставить проверяться
могут ли существовать строки удовлетворяющие данному условию.
Мне нужно различать результат в следующих вариантах.
Пример таблицы SAMPLE
  • ID
  • 2
  • 3
  • 5
  • 7

    Мне нужно чтобы результат
    SELECT 1 WHERE EXISTS(SELECT * FROM SAMPLE WHERE ID>3 AND ID<5)
    был бы одним а
    SELECT 1 WHERE EXISTS(SELECT * FROM SAMPLE WHERE ID>5 AND ID<3)
    другим

    Точнее мне нужно как раз отлавливать только вторые ситуации.
    Чем бы это получить.
  • YuriAM
    Дата: 10.12.2002 10:56:30
    Во втором случае напиши
    select 2 ....
    Arch-saint
    Дата: 10.12.2002 11:08:25
    Вопрос не совсем ясен.
    Если нужно проверить, могут ли существовать строки, удовлетворяющие условию WHERE ID>@Const1 AND ID<@Const2, то:

    select case WHEN @Const2-@Const1>1 THEN 1 ELSE 0 END
    Jimmy
    Дата: 10.12.2002 11:34:29
    А чем count() не угодил?

    SELECT count(id) FROM SAMPLE WHERE <любое_условие>
    Eter Panji
    Дата: 10.12.2002 14:02:39
    Всё вышеследующее не устраивает тем что это работает только для одного конкретного типа WHERE clause
    а если оно что-то типа
    WHERE ID>67 AND (ID IS NOT NULL OR ID==45) AND KOL in (56,67,87) AND ZUT LIKE(%s%)

    Тут такими вещами не отделаешся.
    Нужна именно функция препарсера или функциональность его.
    Eter Panji
    Дата: 10.12.2002 19:19:09
    Видно надо объяснить контекст задачи.
    Этот условие генериться програмно , точнее говоря двумя программами, которые общаются через базу.
    Хотелось бы получать сообщение о "некорректности условий".