powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Расчёт
13 сообщений из 38, страница 2 из 2
Расчёт
    #39567797
Фотография шК0ДЕР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tihiy_Don,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT *
  FROM (SELECT t$amna,
               t$date
          FROM baan.tzdfar202001
         WHERE t$YEAR IN (IN_YEAR, IN_YEAR - 1)
           AND t$amnm <> 0
           AND t$id /*или как у вас...*/ = IN_INV_NUMBER
         ORDER BY t$date)
 WHERE ROWNUM = 1


где IN_YEAR - год, IN_INV_NUMBER - инвентарный номер

Запрос возвращает что-то?
...
Рейтинг: 0 / 0
Расчёт
    #39567802
Tihiy_Don
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привёл его к такому виду, возвращает:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT *
  FROM (SELECT t$amna,
               t$date
          FROM baan.tzdfar202001
         WHERE t$YEAR IN (2017, 2017 - 1)
           AND t$amnm <> 0
           AND t$fasc /*&#232;&#235;&#232; &#234;&#224;&#234; &#243; &#226;&#224;&#241;...*/ = t$fasc
         ORDER BY t$date)
 WHERE ROWNUM = 1
...
Рейтинг: 0 / 0
Расчёт
    #39567803
Шолохов.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Неизлечимо больным деменцией стали давать задания по sql?
...
Рейтинг: 0 / 0
Расчёт
    #39567805
Tihiy_Don
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я сделал вот такой запрос, как Вы думаете, выборка через конструкцию мин прокатит?
Данные выходят:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
select * 
    from (select min(t$year) over (partition by t$fasc order by t$fasc) as year
                ,min(t$prod) over (partition by t$fasc order by t$fasc) as prod
                ,    t$fasc
        from baan.tzdfar202001 
        where 
        t$amnm <> 0 and 
        (t$year=2017 or
        t$year=2017-1)
        ORDER BY t$amna ) 
WHERE ROWNUM = 1
...
Рейтинг: 0 / 0
Расчёт
    #39567826
Фотография шК0ДЕР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tihiy_Don,

Начните с малого. Проверьте его сами, данные же у вас под рукой :)
Выполните запрос
Код: plsql
1.
2.
3.
4.
5.
        SELECT *
          FROM baan.tzdfar202001
         WHERE t$amnm <> 0
           AND (t$year = 2017 OR t$year = 2017 - 1)
         ORDER BY t$fasc 


Из полученной выборки возьмите несколько записей по идентификаторам, подставьте их в свой запрос и оцените полученный результат.
...
Рейтинг: 0 / 0
Расчёт
    #39568065
Фотография stells2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
WHERE t$YEAR IN (2016, 2017)
           AND t$amnm <> 0


на
Код: plsql
1.
WHERE (t$YEAR BETWEEN :p1 AND :p2)  AND NVL(t$amnm,0) !=  0


где :p1 и :p2 ваши входные параметры
...
Рейтинг: 0 / 0
Расчёт
    #39568071
Tihiy_Don
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всё же была ошибка в постановке, там должно было быть или, я его сделал. Но мне нужно теперь объединить минимальную выборку, где 2 строки у меня в 1 строку. Год и период объединить, возможно ли это с оператором min? Я вроде такой информации не видел, буду искать.

Вот мой код:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
select * 
    from (select min("год") over (partition by "инв.номер" order by "инв.номер") as year
                ,min("период") over (partition by "инв.номер" order by "инв.номер") as prod
                ,    "инв.номер"
                ,    "амортизация"
                ,    "модернизация"
        from "таблица" 
        where 
        "модернизация" <> 0 and 
        ("год"=2017 or
        "год"=2017-1)
        ORDER BY "амортизация" ) 
WHERE ROWNUM = 1
...
Рейтинг: 0 / 0
Расчёт
    #39568072
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tihiy_DonВот мой код:Говнокод.
...
Рейтинг: 0 / 0
Расчёт
    #39568075
Tihiy_Don
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ElicTihiy_DonВот мой код:Говнокод.
...
Рейтинг: 0 / 0
Расчёт
    #39568156
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tihiy_Don,

покажите тестовые данные, и что надо получить

.....
stax
...
Рейтинг: 0 / 0
Расчёт
    #39568168
Tihiy_Don
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stax,

мне нужно получить сумму амортизации без учета последующих модернизаций.

Мне нужно как-то связать год и период и выбрать из них минимальное значение, никак не могу придумать как это осуществить.
...
Рейтинг: 0 / 0
Расчёт
    #39568174
Фотография шК0ДЕР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tihiy_Don,

ну предоставьте структуру таблицы и примерные данные(измените их, если секретно), которые там хранятся
...
Рейтинг: 0 / 0
Расчёт
    #39568223
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tihiy_DonStax,

мне нужно получить сумму амортизации без учета последующих модернизаций.

Мне нужно как-то связать год и период и выбрать из них минимальное значение, никак не могу придумать как это осуществить.

бухгалтер может Вас и поймет,
ответ зависит как у Вас учитывают амортизацию ОС
напр
02.2017 купили комп 500$
05.2017 модернизация (+ видеоплата) за 200%
07.2017 модернизация (+ HD) за 100%

нужен пример что у Вас там бухи насчитали, и что хотят получить

.....
stax
...
Рейтинг: 0 / 0
13 сообщений из 38, страница 2 из 2
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Расчёт
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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