Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

получать в запросе новые поля, полученные из существующих??? [D7]


Ткаченко Сергей ©   (2006-01-31 11:55:00) 

Вот прмер оператора Select


select t1.AZSCODE, t1.SHIFTFROM, t1.ONDUTY, t1.PRINCIPAL, SUM(t2.LIT) as SLIT, t3.SHOP, SUM(t2.LIT)*24 as SUML


А возможно вместо числа 24 использовать переменную из программы? С параметром типа:


select t1.AZSCODE, t1.SHIFTFROM, t1.ONDUTY, t1.PRINCIPAL, SUM(t2.LIT) as SLIT, t3.SHOP, SUM(t2.LIT)*:k1 as SUML


не проходит...


Sergey13   (2006-01-31 13:11:00) [1]

2[16] Johnmen ©   (31.01.06 12:58)
Я попробовал в Експерте на 1.5.2 на простом запросе без where вообще - таже фигня. Похоже параметр в перечне полей вообще не канает.


Johnmen   (2006-01-31 12:58:00) [2]

Предположу, что дело не в :k1, а в других параметрах.


Ткаченко Сергей   (2006-01-31 12:55:00) [3]

компонент IBQuery1, полный текст запроса:

select t1.AZSCODE, t1.SHIFTFROM, t1.ONDUTY, t1.PRINCIPAL, SUM(t2.LIT) as SLIT, t3.SHOP, SUM(t2.LIT)*:k1 as SUML
from SHIFT t1
left join tosn t2 on t1.SHIFTFROM=t2.SHIFTFROM and t1.SHIFTTO=t2.SHIFTTO and t1.shiftnum = t2.shiftnum and t1.azscode = t2.azscode
left join tmoney t3 on t1.shiftfrom=t3.shiftfrom  and t1.SHIFTTO=t3.SHIFTTO and t1.shiftnum =t2.shiftnum and t1.azscode = t2.azscode
where
(t1.shiftfrom between :db1 and :de1) and (t1.AZSCODE=:acode)
group by t1.AZSCODE, t1.SHIFTFROM ,t1.ONDUTY, t1.PRINCIPAL, t3.SHOP


Johnmen   (2006-01-31 12:51:00) [4]

Как выглядит запрос целиком? Какой конкретно компонент?


Ткаченко Сергей   (2006-01-31 12:42:00) [5]

вот е-мае, никак не хотит.....(


Ткаченко Сергей   (2006-01-31 12:40:00) [6]

база GDB (работает с FireBird 2), компоненты InterBase


Johnmen   (2006-01-31 12:32:00) [7]

Кстати, что за БД? Какие компоненты доступа?


Johnmen   (2006-01-31 12:29:00) [8]

Попробуй SUM(:k1*t2.LIT)


Ткаченко Сергей   (2006-01-31 12:27:00) [9]

поле LIT имеет тип ftFloat


Johnmen   (2006-01-31 12:24:00) [10]

Возможно поле LIT неподобающего типа.


Ткаченко Сергей   (2006-01-31 12:20:00) [11]

..... бесполезно, таже ошибка


Johnmen   (2006-01-31 12:19:00) [12]

Param Type - ptInput


Ткаченко Сергей   (2006-01-31 12:15:00) [13]

в свойствах параметра:

Data Type - ftinteger
Param Type - ptUncnown
Value Type - Integer


Ткаченко Сергей   (2006-01-31 12:09:00) [14]

да не помогает, все перепробовал


Johnmen   (2006-01-31 12:08:00) [15]

Надо указать тип параметра явно.


Ткаченко Сергей   (2006-01-31 12:06:00) [16]

Ошибка:

Dinamic SQL Error
SQL error code = -607
Array/BLOB/DATE data types not allowed in arithmetic


Johnmen   (2006-01-31 12:04:00) [17]

>не проходит...

Что это значит?


Наверх

Титульная страница Поиск, карта сайта Написать письмо