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

Вниз

End of SELECT statement expected, instead found . ??????   Найти похожие ветки 

 
Serge   (2003-12-22 18:25) [0]

При попытке активизировать Query с запросом


select
max(ABR) ABR,
max(COD) COD,
SUM(CUMP) CUMP,
SUM(CUMP_EC_LEI) CUMP_EC_LEI,
SUM(VIND) VIND,
SUM(VIND_EC_LEI) VIND_EC_LEI,
SUM(CUMP_A) CUMP_A,
SUM(CUMP_EC_LEI_A) CUMP_EC_LEI_A,
SUM(VIND_A) VIND_A,
SUM(VIND_EC_LEI_A) VIND_EC_LEI_A,
MAX(prior)
from
(
select m1.ABR ABR,
v1.COD COD,
m1.cump_val CUMP,
m1.cump_lei CUMP_EC_LEI,
m1.vind_val VIND,
m1.vind_lei VIND_EC_LEI,
0 CUMP_A,
0 CUMP_EC_LEI_A,
0 VIND_A,
0 VIND_EC_LEI_A,
v1.prioritate prior
from month m1, valute v1
where (m1.ABR<>"MDL")
AND (m1.ABR=v1.ABR)
AND (EXTRACT(MONTH FROM m1.Data)=:Luna)

union all

select m1.ABR ABR,
v1.COD COD,
0 CUMP,
0 CUMP_EC_LEI,
0 VIND,
0 VIND_EC_LEI,
m1.cump_val CUMP_A,
m1.cump_lei CUMP_EC_LEI_A,
m1.vind_val VIND_A,
m1.vind_lei VIND_EC_LEI_A,
v1.prioritate prior
from month m1, valute v1
where(m1.ABR <> "MDL")
And (m1.ABR = v1.ABR)
And (EXTRACT(MONTH FROM m1.Data) <= :Luna)
)
GROUP BY COD


выскакивает ошибка

End of SELECT statement expected, instead found "." - вообще ничего не понимаю уже.
Подскажите плиз иде ошибка!

П.С. :Luna - целочисленная переменная (номер месяца)


 
Sandman25   (2003-12-22 18:42) [1]

Попробуйте отлаживать в Query Analyzer.
Уберите один из запросов из union all, например.


 
Serge   (2003-12-22 18:49) [2]

Отдельно - оба запроса работают, но вот когда пытаюсь соединить их - шиш с маслом :(,
может чо неправильно написал с PL/SQL-ной замашкой ?


 
Sandman25   (2003-12-22 18:50) [3]

[2] Serge (22.12.03 18:49)

Вы уверены, что select from union поддерживаются?


 
Serge   (2003-12-22 18:55) [4]

Во всяком случае в ихнем ДБИСАМ хэлпе - он поддерживается :)


 
kaif   (2003-12-23 00:21) [5]

Может, попытаться GROUP BY COD для начала выкинуть?


 
Serge   (2003-12-23 09:35) [6]

Sorry что вчера не ответил.
GROUP BY COD я никак не могу выкинуть, потому что это противит ожидаемому результату - первый селект возвращает суммы валют проданных за месяц, второй - проданных за год - и они должны быть отсумированны каждая по отдельности - USD, EUR, RUB, UAH itd...


 
Serge   (2003-12-23 09:55) [7]

Покоцав вышеуказанный код
я оставил только

select m1.ABR ABR,
v1.COD COD,
SUM(m1.cump_val) CUMP,
SUM(m1.cump_lei) CUMP_EC_LEI,
SUM(m1.vind_val) VIND,
SUM(m1.vind_lei) VIND_EC_LEI,
v1.prioritate prior
from month m1, valute v1
where (m1.ABR<>"MDL")
AND (m1.ABR=v1.ABR)
AND (EXTRACT(MONTH FROM m1.Data)=:Luna)
GROUP BY COD

union all

select m1.ABR ABR,
v1.COD COD,
SUM(m1.cump_val) CUMP_A,
SUM(m1.cump_lei) CUMP_EC_LEI_A,
SUM(m1.vind_val) VIND_A,
SUM(m1.vind_lei) VIND_EC_LEI_A,
v1.prioritate prior
from month m1, valute v1
where(m1.ABR <> "MDL")
And (m1.ABR = v1.ABR)
And (EXTRACT(MONTH FROM m1.Data) <= :Luna)
GROUP BY COD

и сработало, правда не совсем в той форме в которой я ожидал но все же... В PL/SQL-е такой код проходит на ура но вот здесь ...

Спасибо всем!
Удачи!


 
Johnmen   (2003-12-23 10:58) [8]

А если так:

SELECT
MAX(m1.ABR) ABR,
MAX(v1.COD) COD,
SUM(m1.cump_val*K1) CUMP,
SUM(m1.cump_lei*K1) CUMP_EC_LEI,
SUM(m1.vind_val*K1) VIND,
SUM(m1.vind_lei*K1) VIND_EC_LEI,
SUM(m1.cump_val) CUMP_A,
SUM(m1.cump_lei) CUMP_EC_LEI_A,
SUM(m1.vind_val) VIND_A,
SUM(m1.vind_lei) VIND_EC_LEI_A,
MAX(v1.prioritate)
FROM month m1, valute v1
WHERE
(m1.ABR<>"MDL") AND
(m1.ABR=v1.ABR) AND
(EXTRACT(MONTH FROM m1.Data)<=:Luna)
GROUP BY COD


где K1 зависит от того, как в DBISAM реализовано приведение типов (к int).
Если с отбрасыванием дробной части, то
K1=CAST(EXTRACT(MONTH FROM m1.Data)/:Luna AS INTEGER)
Если с округлением, то
K1=CAST((EXTRACT(MONTH FROM m1.Data)/:Luna)-0.5 AS INTEGER)


 
Serge   (2003-12-23 11:37) [9]

To Johnmen ©
Огр-р-р-р-р-р-р-р-р-р-р-р-омное СПАСИБО!!!
Чес. говоря мне бы в жисть такое в голову не пришло.
Все работает отлично!!!
После этого я могу сделать лишь один вывод - мне надо учиться, учиться и еще много раз учиться. :о)

Еще раз спасибо!
Удачи!



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

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

Наверх





Память: 0.46 MB
Время: 0.012 c
14-63355
Igorek
2003-12-27 22:31
2004.01.20
А вы хотели бы жить вечно?


14-63334
Вадим
2003-12-30 14:30
2004.01.20
Ощущение праздника


1-63100
Jenaxx
2004-01-08 01:19
2004.01.20
Как получить инфу о пользователе, всю ту что можно получить


3-63029
Vic
2003-12-22 17:47
2004.01.20
Вставка записей


1-63096
Goida
2004-01-08 14:58
2004.01.20
Работа с Office через ADO





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский