Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Почему не отрабатывает условие? 1sqlite (число прочтений - 1187 )
Yahooey
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 28
Зарегистрирован: 25. Августа 2010
Почему не отрабатывает условие? 1sqlite
27. Августа 2010 :: 05:04
Печать  
День добрый! Почему не отрабатывает запрос со сложным условием?
     |SELECT                           
     |      *
     |FROM _1SENTRY AS Проводки
     |WHERE                  
     |      ((Проводки.DATE||Проводки.TIME) BETWEEN :ДатаНачала AND :ДатаКонца)
     |      AND ((Проводки.ACCDTID = :Счет) OR (Проводки.ACCKTID = :Счет))
     |      AND ((Проводки.DTSC1 = :Смета) OR (Проводки.KTSC1 = :Смета))

если писать:
     |SELECT                           
     |      *
     |FROM _1SENTRY AS Проводки
     |WHERE                  
     |      ((Проводки.DATE||Проводки.TIME) BETWEEN :ДатаНачала AND :ДатаКонца)
     |      AND (Проводки.ACCDTID = :Счет)
     |      AND ((Проводки.DTSC1 = :Смета))

то так все работает.

Подскажите где ошибаюсь в первом запросе?
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Почему не отрабатывает условие? 1sqlite
Ответ #1 - 27. Августа 2010 :: 05:42
Печать  
Проводки.DATE BETWEEN :ДатаНачала AND :ДатаКонца

Это для начала
  
Наверх
 
IP записан
 
Yahooey
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 28
Зарегистрирован: 25. Августа 2010
Re: Почему не отрабатывает условие? 1sqlite
Ответ #2 - 27. Августа 2010 :: 05:49
Печать  
О! День добрый Ёпрст!))
начитался что так Проводки.DATE||Проводки.TIME быстрей работает.

и что бы не делать соединение Дт Кт думал что такое условие - (Проводки.ACCDTID = :Счет) OR (Проводки.ACCKTID = :Счет) - тоже прокатит.
но не тут то было!
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Почему не отрабатывает условие? 1sqlite
Ответ #3 - 27. Августа 2010 :: 06:01
Печать  
Для проверки, что ты там передаешь и что с чем сравниваешь, достаточно написать так, ну а дальше сравнить значения столбцов - всё наглядно сам увидишь:

Код
Выбрать все
     |SELECT
     |	:Счет
     |	,Проводки.ACCDTID
     |	,Проводки.ACCKTID
     |	,:Смета
     |	,Проводки.DTSC1
     |	,Проводки.KTSC1
     |FROM _1SENTRY AS Проводки
     |WHERE
     |	Проводки.DATE BETWEEN :ДатаНачала AND :ДатаКонца 

  
Наверх
 
IP записан
 
Yahooey
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 28
Зарегистрирован: 25. Августа 2010
Re: Почему не отрабатывает условие? 1sqlite
Ответ #4 - 27. Августа 2010 :: 06:40
Печать  
А есть какой нибудь не большой по сравнению столбцов?
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать