Не могу осуществить преобразование типов
Модераторы: m0p3e, edward_K, Модераторы
Не могу осуществить преобразование типов
Народ подскажите начинающему.
Имеется запрос созданый в 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"...
Уж что я только не пробовал - ну не в какую...
Народ подскажите - т.к. даже спросить то не у кого, а некоторые стандартные команды скл тут по ходу дела не работает или
же имеют синтаксис другой..
Имеется запрос созданый в 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"...
Уж что я только не пробовал - ну не в какую...
Народ подскажите - т.к. даже спросить то не у кого, а некоторые стандартные команды скл тут по ходу дела не работает или
же имеют синтаксис другой..
-
- Местный житель
- Сообщения: 370
- Зарегистрирован: 28 сен 2006, 15:43
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Не могу осуществить преобразование типов
Если правильно понял:
Нельзя в лоте таким образом использовать вложенные запросы, и никакого IN нет 
Код: Выделить всё
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
))
;

-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: Не могу осуществить преобразование типов
стандартные не работают
синтаксис свой - читать vipprogr.chm (с примерами) и форум.
Если же влом, то хотя бы там же DSQL но на первасиве могет не работать.
синтаксис свой - читать vipprogr.chm (с примерами) и форум.
Если же влом, то хотя бы там же DSQL но на первасиве могет не работать.
Re: Не могу осуществить преобразование типов
Всё сделал как подсказали:
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
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
Последний раз редактировалось Lumox 22 ноя 2010, 17:44, всего редактировалось 1 раз.
-
- Местный житель
- Сообщения: 209
- Зарегистрирован: 18 окт 2006, 17:03
- Откуда: Ростов на Дону Новочеркасск Новороссийск
- Контактная информация:
Re: Не могу осуществить преобразование типов
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
));
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
));
-
- Местный житель
- Сообщения: 370
- Зарегистрирован: 28 сен 2006, 15:43
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Не могу осуществить преобразование типов
Вы уверены? Посмотрите что было написано, и что вы написали. Не надо ничего менять.Lumox писал(а):Всё сделал как подсказали:
-
- Местный житель
- Сообщения: 209
- Зарегистрирован: 18 окт 2006, 17:03
- Откуда: Ростов на Дону Новочеркасск Новороссийск
- Контактная информация:
Re: Не могу осуществить преобразование типов
В двойных скобках пишется <<= >>= == /==
Re: Не могу осуществить преобразование типов
Спасибо - всё получилось 
Срочное сделано - пшёл читать хелп и разбираться с двойными ковычками и тире...

Срочное сделано - пшёл читать хелп и разбираться с двойными ковычками и тире...