powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / sql запрос
9 сообщений из 9, страница 1 из 1
sql запрос
    #39726078
AlexeyM123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый вечер коллеги
Прошу совета

Имеется таблица счетов: id поставщика, разница между датами выставления счета и погашения.
Нужно выбрать по поставщикам разницы дат, которые наиболее часто встречаются.

Если бы это был FB25, то запросто через CTE.
А у меня база , которую поддерживаю в IB56.
...
Рейтинг: 0 / 0
sql запрос
    #39726083
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приводи DDL и DML (с данными, что есть и что надо получить).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
sql запрос
    #39726094
AlexeyM123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CREATE TABLE INVOICES (
ID_INVOICE VARCHAR(30) CHARACTER SET NONE NOT NULL,
ID_SUPPLIER VARCHAR(3) CHARACTER SET NONE,
INV_NBR VARCHAR(30) CHARACTER SET NONE NOT NULL,
INV_DATE DATE,
DUE_DATE DATE,
PAYM_DELAY COMPUTED BY (f_ageindays(inv_date, due_date))
);

частота разниц

*1
select
count( invoices.id_supplier ) count_of_id_supplier,
invoices.paym_delay,
invoices.id_supplier
from invoices
where
(
(invoices.inv_date >= :user_date)
)
group by invoices.paym_delay, invoices.id_supplier
...
Рейтинг: 0 / 0
sql запрос
    #39726097
AlexeyM123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
CREATE TABLE INVOICES (
  ID_INVOICE VARCHAR(30) CHARACTER SET NONE NOT NULL,
  ID_SUPPLIER VARCHAR(3) CHARACTER SET NONE,
  INV_NBR VARCHAR(30) CHARACTER SET NONE NOT NULL,
  INV_DATE DATE,
  DUE_DATE DATE,
  PAYM_DELAY COMPUTED BY (f_ageindays(inv_date, due_date))
);



частота разниц

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
select
  count( invoices.id_supplier ) count_of_id_supplier,
  invoices.paym_delay,
  invoices.id_supplier
from invoices
  where
  (
    (invoices.inv_date >= :user_date)
  )
group by invoices.paym_delay, invoices.id_supplier 
...
Рейтинг: 0 / 0
sql запрос
    #39726105
AlexeyM123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если бы FB25, то наверное как то так

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
with max_derived as (
  select max(count_of_id_supplier), id_supplier
  from inv_derived
  group by id_supplier 
) 
select 
  paym_delay,
  id_supplier
from inv_derived
inner join on (id_supplier = max_derived.id_supplier and count_of_id_supplier = max_derived.count_of_id_supplier )
...
Рейтинг: 0 / 0
sql запрос
    #39726369
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexeyM123Нужно выбрать по поставщикам разницы дат, которые наиболее часто встречаются.
так, например
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
select
  count( i1.id_supplier ) count_of_id_supplier,
  i1.paym_delay,
  i1.id_supplier
from invoices i1
  where
  (
    (i1.inv_date >= :user_date)
  )
group by i1.paym_delay, i1.id_supplier
having count( i1.id_supplier ) >= all (

                select
                  count( i2.id_supplier ) count_of_id_supplier
                from invoices i2
                  where  i1.id_supplier=i2.id_supplier  and 
                  (
                    (invoices.inv_date >= :user_date)
                  )
                group by i2.paym_delay, i2.id_supplier
        )
...
Рейтинг: 0 / 0
sql запрос
    #39726409
AlexeyM123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
court, спасибо, но кажется не взлетит

я использую для хранения некоторых выборок FB25
решу проблему через GTT + CTE

всем спасибо
...
Рейтинг: 0 / 0
sql запрос
    #39726448
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexeyM123,

Создай в IB56 вьюху с запросом из CTE, а дальше делай JOIN к своей вьюхе
...
Рейтинг: 0 / 0
sql запрос
    #39726503
AlexeyM123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис

спасибо за совет
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / sql запрос
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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