Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.02.29;
Скачать: [xml.tar.bz2];

Вниз

Составление запроса с вычитанием одного поля из другого   Найти похожие ветки 

 
gonzales   (2004-02-03 15:18) [0]

Доброе время суток!
Работаю с BDE и столкнулся с проблемой. Имеется таблица с полями даты, необходимо составить запрос, в котором автоматом одна дата вычиталась из другой, а в идеале еще и усреднялась.
что-то типа select field2-field1 where field3=text. Но не знаю как оформить


 
Johnmen   (2004-02-03 15:20) [1]

>одна дата вычиталась из другой

Что получим в разности ? :))))))))))


 
Ann   (2004-02-03 15:20) [2]

а вычисляемые поля не подойдут?


 
gonzales   (2004-02-03 15:21) [3]

опять же дату. Tditetime1-tditetime2


 
gonzales   (2004-02-03 15:21) [4]

вычисляемые поля это как?


 
Mike Kouzmine   (2004-02-03 15:22) [5]

gonzales © (03.02.04 15:21) [3] 1 апреля 1998 года - 2 сентября 1675 года = ?


 
HSolo   (2004-02-03 15:23) [6]

???
(30 января 2004 г. - 12 декабря 2003 г.) - это какая дата?


 
Sandman25   (2004-02-03 15:24) [7]

avg(cast((date1-date2) as float))

в результате имеем среднюю длину интервала в днях.


 
gonzales   (2004-02-03 15:24) [8]

идея вот такая. В базе содержатсязаписи с времемем начала и конца выполнения операции. Необходимо найти среднее. записей около 2000 шт. Крайне не хотелось бы использовать перебор


 
Тимохов   (2004-02-03 15:24) [9]


> Mike Kouzmine © (03.02.04 15:22) [5]

Вроде как количество дней...


 
gonzales   (2004-02-03 15:24) [10]

avg(cast((date1-date2) as float)) - совершенно верно


 
gonzales   (2004-02-03 15:25) [11]

только как теперь грамотный запрос составить


 
Mike Kouzmine   (2004-02-03 15:25) [12]

Тимохов © (03.02.04 15:24) [9] Может быть. Но требуется TDateTime.


 
gonzales   (2004-02-03 15:28) [13]

в принципе требуется количество минут, секунд, дней, и т.д. В общем-то tdatetime - это кол-во дней и есть


 
gonzales   (2004-02-03 15:29) [14]

вот и вопрос, можно ли организовать это в одном запросе


 
Sandman25   (2004-02-03 15:36) [15]

[14] gonzales © (03.02.04 15:29)

В чем проблема

select field1, field2, cast(...)
from table1
group by field1, field2
???


 
Sandman25   (2004-02-03 15:36) [16]

group by даже не надо.


 
Sandman25   (2004-02-03 15:36) [17]

select avg()
from table


 
gonzales   (2004-02-03 15:38) [18]

а что будет результатом запроса?


 
Sandman25   (2004-02-03 15:41) [19]

[18] gonzales © (03.02.04 15:38)

Вы бы написали, что Вам нужно?
Если только среднее значение,
то select avg(..) from table.


 
gonzales   (2004-02-03 15:47) [20]

да мне нужно среднее значение, но в таблице имеются записи, которые нужно еще и селектировать по определенному полу field3
:))


 
gonzales   (2004-02-03 15:52) [21]

то есть запрос должен быть таким
select avg(cast((Query1.Fields[1]-Query1.Fields[2]) as float)) from table where Teh_oper=:Teh_oper;


 
Johnmen   (2004-02-03 15:52) [22]

>да мне нужно среднее значение

среднее значение чего ??? какого типа ???


 
gonzales   (2004-02-03 15:59) [23]

типа float, среднее значение разности времен, то есть среднее значение времени выполнения операции


 
Тимохов   (2004-02-03 16:01) [24]

Блин, в чем вопрос, то вроде уже все ответили. Ты вроде сам даже написал "почти" запрос.
Что еще не понятно осталось?


 
Johnmen   (2004-02-03 16:01) [25]

avg(dfinish-dstart)


 
gonzales   (2004-02-03 16:02) [26]

Вот именно что "почти" запрос, не работает же:)))))


 
Kinda   (2004-02-03 16:12) [27]

если нужно вычитать поля с датами не из одной записи
то нужна ХП (в IB/FB) с Paradox по-моему
можно ли организовать это в одном запросе
нет, надо делать несколько.


 
gonzales   (2004-02-03 16:17) [28]

да вычитать поля нужно в тех записях, которые удовлетворяют критерию where ..., а таких записей может быть много.


 
kinda   (2004-02-03 16:25) [29]

В одном запросе не получится,
сначала выбираешь то что, нужно,
а потом из результата выбираешь, вычитаешь, усредняешь и т.д.
идея понятна?


 
gonzales   (2004-02-03 17:03) [30]

почему то не проходит avg,
неизвестная команда.
Может надо uses какой подключить


 
Dedushka_Mazai   (2004-02-03 17:05) [31]

и куда ж ты его подключишь, интересно?


 
Плохиш   (2004-02-03 17:09) [32]


> gonzales © (03.02.04 17:03) [30]
> почему то не проходит avg,
> неизвестная команда.
> Может надо uses какой подключить

Ошибка в 17й строке


 
gonzales   (2004-02-03 17:15) [33]

Ошибка в 17й строке???????


 
Dedushka_Mazai   (2004-02-03 17:22) [34]

она и в 18-ю переползла уже. есть тенденция, что и до 19-й скоро доберётся


 
Fay   (2004-02-03 17:27) [35]

8)


 
Fay   (2004-02-03 17:28) [36]

на anekdot.ru скоро линк сюда повесят


 
gonzales   (2004-02-03 18:12) [37]

Извините, что встреваю, но я и не подозревал, что тут сидят такие крутые профессионалы, просто ассы своего дела, которые не то, что запрос с ходу пишут, а еще успевают стебаться в стиле
"эй юниор, резче гребок, шире амплитуда"

ЗЫ. если нечего написать, не порть клавиатуру

Best Regards и все такое


 
ЮЮ   (2004-02-04 03:46) [38]

> но я и не подозревал, что тут сидят такие крутые
Зато уверен, что все здесь читают твои мысли или сидят рядом с тобой за компом?

>gonzales © (03.02.04 16:02) [26] Вот именно что "почти" запрос, не работает же:)))))
>gonzales © (03.02.04 17:03) [30] почему то не проходит avg,

А привести текст запроса и ошибку слабо?



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.02.29;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.51 MB
Время: 0.014 c
1-93903
Defunct
2004-02-15 21:53
2004.02.29
Здравствуйте уважаемые мастера, вот имеется достойный вопрос о ср


14-94105
Zew
2004-02-07 21:35
2004.02.29
Не ну это вообще


3-93768
Ultra389
2004-02-04 12:39
2004.02.29
->WIN 1251


14-94090
syte_ser78
2004-02-10 14:37
2004.02.29
День святого Валентина


1-94020
Ron
2004-02-16 08:30
2004.02.29
DynamicSkinForm VCL





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский