Страница 1 из 1

Не могу осуществить преобразование типов

Добавлено: 22 ноя 2010, 15:51
Lumox
Народ подскажите начинающему.
Имеется запрос созданый в Support-е

Select oborot.sodpr, oborot.sumob, oborot.datob,
plpor.namepl1
WHERE
oborot.datob >= date (01,01,2010) and
oborot.datob <= date (01,02,2010) and
oborot.nrec IN
(select plpor.chozoper
where
plpor.datob >= date (01,01,2010) and
plpor.datob <= date (01,02,2010));

Т.е. нужно из таблицы oborot - выбрать все проводки, которые относятся к платёжным поручениям,
при этом подтянуть номер платёжного поручения.
Если без второго селекта делать - то запрос выполняется 2 дня.... Хотя каждый по отдельности отрабатывает за 20 и 40 секунд.
НО при выполнении данного запроса выводится ошибка:
"Не могу осуществить преобразование типов oborot.nrec IN"...
Уж что я только не пробовал - ну не в какую...
Народ подскажите - т.к. даже спросить то не у кого, а некоторые стандартные команды скл тут по ходу дела не работает или
же имеют синтаксис другой..

Re: Не могу осуществить преобразование типов

Добавлено: 22 ноя 2010, 16:28
Vik
Если правильно понял:

Код: Выделить всё

Select
oborot.sodpr, oborot.sumob, oborot.datob,
plpor.namepl1
from
 PlPor
,Oborot
WHERE
((
         date (01,01,2010) <<= plpor.datob
     and date (01,02,2010) >>= plpor.datob
     and plpor.chozoper /== Oborot.nrec
))
;  
Нельзя в лоте таким образом использовать вложенные запросы, и никакого IN нет :)

Re: Не могу осуществить преобразование типов

Добавлено: 22 ноя 2010, 16:44
edward_K
стандартные не работают
синтаксис свой - читать vipprogr.chm (с примерами) и форум.
Если же влом, то хотя бы там же DSQL но на первасиве могет не работать.

Re: Не могу осуществить преобразование типов

Добавлено: 22 ноя 2010, 17:36
Lumox
Всё сделал как подсказали:
SELECT
oborot.sodpr,oborot.sumob,oborot.datob,
plpor.namepl1
from
PlPor, Oborot
WHERE
((
oborot.datob >= date(01,01,2010) and
oborot.datob <= date(10,01,2010) and
plpor.chozoper /== Oborot.nrec
));

Ошибка - Не могуосуществить преобразование типов
plpor.chozoper /== Oborot.nrec
^
plpor.chozoper - тип comp
Oborot.nrec - тип comp

Re: Не могу осуществить преобразование типов

Добавлено: 22 ноя 2010, 17:42
Gameus_
SELECT
oborot.sodpr,oborot.sumob,oborot.datob,
plpor.namepl1
from
PlPor, Oborot
WHERE
((
oborot.datob >>= date(01,01,2010) and
oborot.datob <<= date(10,01,2010) and
plpor.chozoper /== Oborot.nrec
));

Re: Не могу осуществить преобразование типов

Добавлено: 22 ноя 2010, 17:46
Vik
Lumox писал(а):Всё сделал как подсказали:
Вы уверены? Посмотрите что было написано, и что вы написали. Не надо ничего менять.

Re: Не могу осуществить преобразование типов

Добавлено: 22 ноя 2010, 17:48
Gameus_
В двойных скобках пишется <<= >>= == /==

Re: Не могу осуществить преобразование типов

Добавлено: 22 ноя 2010, 18:00
Lumox
Спасибо - всё получилось :)
Срочное сделано - пшёл читать хелп и разбираться с двойными ковычками и тире...