powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Выбор записей со значением больше "нуля"
11 сообщений из 11, страница 1 из 1
Выбор записей со значением больше "нуля"
    #39755401
Hadroran
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всех с Новым Годом! И меня с первым топиком.

Помогите, чтобы запрос выводил записи со значением суммы больше нуля. Однако при вставке
Код: plsql
1.
where V_ARRIVALSUM > 0

ругается на неизвестный столбец.
Сам запрос
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
SELECT
    CCNT.ID,
    CCNT.V_SHRTNAME as V_CSTM_NAME,
    CCNT.V_CONTACTNAME as V_CCNT_NAME,
    COALESCE(
    (select
       sum(V_ARRIVALSUM)
     from V_IORDOPERATION IOPR where
       IOPR.ID_CCNT = CCNT.ID and
       IOPR.ID_SPL = :ID and
       IOPR.V_SALEDATE BETWEEN '01.12.2018' AND '31.12.2018')
     , 0) as V_ARRIVALSUM

FROM V_CUSTCONTACT CCNT

where V_ARRIVALSUM > 0

ORDER BY V_ARRIVALSUM DESC
...
Рейтинг: 0 / 0
Выбор записей со значением больше "нуля"
    #39755402
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RTFM HAVING.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Выбор записей со значением больше "нуля"
    #39755405
Hadroran
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

Код: plsql
1.
2.
GROUP 1,2,3
HAVING V_ARRIVALSUM > 0


Все равно ругается на V_ARRIVALSUM
...
Рейтинг: 0 / 0
Выбор записей со значением больше "нуля"
    #39755406
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потому что надо именно RTFM, а не наобум тыкать. В HAVING не работают алиасы полей.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Выбор записей со значением больше "нуля"
    #39755407
Hadroran
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

Что ж они тут то работают?
Код: html
1.
http://code.mu/sql/having.html
...
Рейтинг: 0 / 0
Выбор записей со значением больше "нуля"
    #39755408
Hadroran
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
SELECT
    CCNT.ID,
    CCNT.V_SHRTNAME as V_CSTM_NAME,
    CCNT.V_CONTACTNAME as V_CCNT_NAME,
    COALESCE(
    (select
                 sum(V_ARRIVALSUM)
              from V_IORDOPERATION IOPR where
                 IOPR.ID_CCNT = CCNT.ID and
                 IOPR.ID_SPL = :ID and
                 IOPR.V_SALEDATE BETWEEN '01.12.2018' AND '31.12.2018')
                 , 0) as V_ARRIVALSUM

FROM V_CUSTCONTACT CCNT

GROUP BY CCNT.ID,
         V_CSTM_NAME,
         V_CCNT_NAME
HAVING COALESCE(
    (select
                 sum(V_ARRIVALSUM)
              from V_IORDOPERATION IOPR where
                 IOPR.ID_CCNT = CCNT.ID and
                 IOPR.ID_SPL = :ID and
                 IOPR.V_SALEDATE BETWEEN '01.12.2018' AND '31.12.2018')
                 , 0) > 0

ORDER BY V_ARRIVALSUM DESC
...
Рейтинг: 0 / 0
Выбор записей со значением больше "нуля"
    #39755409
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HadroranDimitry Sibiryakov,

Код: plsql
1.
2.
GROUP 1,2,3
HAVING V_ARRIVALSUM > 0



Все равно ругается на V_ARRIVALSUM


как-то вот так
Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT CCNT.ID, CCNT.V_SHRTNAME, CCNT.V_CONTACTNAME,sum(IOPR.V_ARRIVALSUM)
FROM V_CUSTCONTACT CCNT
  join V_IORDOPERATION IOPR on IOPR.ID_CCNT = CCNT.ID
 where ..............
group by ......
having .........
ORDER by........

...
Рейтинг: 0 / 0
Выбор записей со значением больше "нуля"
    #39755417
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HadroranЧто ж они тут то работают?

Очевидно потому, что это TFM от другой СУБД.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Выбор записей со значением больше "нуля"
    #39755420
MikeDD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hadroran,
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
select * from (SELECT
    CCNT.ID,
    CCNT.V_SHRTNAME as V_CSTM_NAME,
    CCNT.V_CONTACTNAME as V_CCNT_NAME,
    COALESCE(
    (select
       sum(V_ARRIVALSUM)
     from V_IORDOPERATION IOPR where
       IOPR.ID_CCNT = CCNT.ID and
       IOPR.ID_SPL = :ID and
       IOPR.V_SALEDATE BETWEEN '01.12.2018' AND '31.12.2018')
     , 0) as V_ARRIVALSUM

FROM V_CUSTCONTACT CCNT) 

where V_ARRIVALSUM > 0

ORDER BY V_ARRIVALSUM DESC
...
Рейтинг: 0 / 0
Выбор записей со значением больше "нуля"
    #39755424
Hadroran
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребята, долго выполняется запрос. Подскажите что можно сделать для его ускорения
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
План
PLAN JOIN (JOIN (IOPR IOPR NATURAL, JOIN (JOIN (JOIN (JOIN (IOPR IORD IORD INDEX (PK_ITEMSORDER), IOPR IORD ITM INDEX (PK_ITEMS)), SORT (JOIN (IOPR IORD ICLC ITM INDEX (PK_ITEMS), IOPR IORD ICLC IORD INDEX (FK_ITEMSORDER_2)))), IOPR IORD SPL INDEX (PK_SUPPLIERS)), IOPR IORD MNF INDEX (PK_MANUFACTURER))), IOPR ORD INDEX (PK_ORDERS))
PLAN SORT (JOIN (CCNT CTM NATURAL, CCNT CNT INDEX (FK_CUSTCONTACT_1)))

------ Информация о производительности ------
Время подготовки запроса = 0ms
Время выполнения запроса = 13s 110ms
Среднее время на получение одной записи = 595,91 ms
Current memory = 35 175 428
Max memory = 41 020 308
Memory buffers = 2 048
Reads from disk to cache = 0
Writes from cache to disk = 0
Чтений из кэша = 16 160 820
...
Рейтинг: 0 / 0
Выбор записей со значением больше "нуля"
    #39755425
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hadroranчто можно сделать для его ускорения

"Учиться, учиться и ещё раз учиться." (с)
http://www.ibase.ru/dataaccesspaths/
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Выбор записей со значением больше "нуля"
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]