richdik |
Отправлено: 26.06.2003, 10:59 |
|
Не зарегистрирован
|
Необходимо сделать выборку данных из таблицы по двум полям
"Date" и "Time" по условию
Data>=??.??.?? and Time>=????
Data<=??.??.?? and Time<=????
Конструкция типа:
SELECT * FROM
(
SELECT * FROM "Arhiv.db" Arhiv
WHERE ( (AData>= '24.06.03') AND (ATime>= '14:00:00'))
)
WHERE ( (AData<='25.06.03') AND (ATime<='16:00:00'))
Builder не понимает
Помогите пожалуйста составить правильный SQL запрос.
|
|
Admin |
Отправлено: 26.06.2003, 17:25 |
|
Владимир
Группа: Администратор
Сообщений: 1190
|
QUOTE |
по условию
Data>=??.??.?? and Time>=????
Data<=??.??.?? and Time<=????
|
Вы не написали как связаны эти условия (и — или)
Если и:
Select * from myTable
where
(WData>= '01.01.2002' and WTime>= '14:00:00')
and (WData <= '31.01.2003' and WTime <= '15:00:00')
Если или:
Select * from myTable
where
(WData>= '01.01.2002' and WTime>= '14:00:00')
or (WData <= '31.01.2003' and WTime <= '15:00:00')
Отредактировано Admin — 26 Jun 2003, 17:39
|
|
Guest |
Отправлено: 30.06.2003, 14:37 |
|
Не зарегистрирован
|
Admin
Спасибо, но
Предложенная Выми конструкция не работает.
Поначалу я тоже делал так, но потом вынужден
был обратиться к вложенным запросом.
Я все-таки образом выкрутился следующим образом
Select * from myTable
where
(WData='01.01.2002' or (WData> '01.01.2002' and WTime>= '14:00:00'))
and
(WData='31.01.2003' or (WData < '31.01.2003' and WTime '15:00:00'))
|
|
Admin |
Отправлено: 30.06.2003, 22:14 |
|
Владимир
Группа: Администратор
Сообщений: 1190
|
QUOTE |
Предложенная Выми конструкция не работает.
|
Конструкция работает, только значит не так, как нужно Вам.
А чтобы заработало так как нужно Вам
(отбирало что нужно), стало быть нужно нормально
объяснить так что-же Вы хотите отобрать, тогда
и можно будет написать более простой и понятный SQL-запрос.
QUOTE |
но потом вынужден был обратиться к вложенным запросом
|
Я что-то не вижу никаких вложенных запросов,
тот код что приведен у вас вложенным запросом не является.
|
|
richdikb |
Отправлено: 02.07.2003, 15:07 |
|
Не зарегистрирован
|
Владимир[B]
Действительно в данном решении нет вложенного запроса,
так как было найдено решение без него.
Так что не обижайтесь на мой первый ответ .
Просто хотелось бы узнать работает ли вообще конструкция
такого вида (она алгоритмически более правильна)
SELECT * FROM
(
SELECT * FROM "Arhiv.db" Arhiv
WHERE ( (AData>= '24.06.03') AND (ATime>= '14:00:00'))
)
WHERE ( (AData<='25.06.03') AND (ATime<='16:00:00'))
и если да, то почему Buider 5 ее не понимает.
Заранее благодарен за ответ
|
|