powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Запрос SQL
20 сообщений из 20, страница 1 из 1
Запрос SQL
    #39721031
sanzhar333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть такая таблица с столбцами barcode(varchar),weight(number)
...
Рейтинг: 0 / 0
Запрос SQL
    #39721033
sanzhar333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1
...
Рейтинг: 0 / 0
Запрос SQL
    #39721035
sanzhar333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно получить такой результат
...
Рейтинг: 0 / 0
Запрос SQL
    #39721041
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanzhar333,

42
...
Рейтинг: 0 / 0
Запрос SQL
    #39721047
sanzhar333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
То есть если WEIGHT до 6 и включительно,поле SUMMA_DO6kg считается 888.6
а если WEIGHT больше 6-ти,каждый 0.5(включительно) считается по 61.71
в нашем случае остаток 0.427 тоже считается по 61.71(любой остаток до 0.5(включительно) считается по 61.71)
...
Рейтинг: 0 / 0
Запрос SQL
    #39721051
londinium
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanzhar333,
ну, помолясь, начнем
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
WITH CTE(BARCODE,WEIGHT)
AS
(
  SELECT 'aa11aa' AS BARCODE,6.1 AS WEIGHT
   FROM DUAL

   UNION ALL

  SELECT 'bb222bb' AS BARCODE ,5 AS WEIGHT
   FROM DUAL
)
...
Рейтинг: 0 / 0
Запрос SQL
    #39721053
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Запрос SQL
    #39721055
sanzhar333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
londinium,select 'aa111aa' as barcode,6.927 as weight,888.60 as summa_do6kg,null as summa_zakazhdie_05kg,888.6 as summa_s_nds from dual union all
select 'aa111aa' as barcode,0.500 as weight,null as summa_do6kg,61.71 as summa_zakazhdie_05kg,61.71 as summa_s_nds from dual union all
select 'aa111aa' as barcode,0.427 as weight,null as summa_do6kg,61.71 as summa_zakazhdie_05kg,61.71 as summa_s_nds from dual union all
select 'bb222bb' as barcode,5 as weight,888.60 as summa_do6kg,null summa_zakazhdie_05kg,888.6 as summa_s_nds from dual
...
Рейтинг: 0 / 0
Запрос SQL
    #39721056
sanzhar333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
londinium,спасибо что откликнулись,вот скрипт
...
Рейтинг: 0 / 0
Запрос SQL
    #39721057
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanzhar333,

Целую минуту медитировал на картинки, но так и не понял, как из 6.1 получается 6.927, 0.5 и 0.427.

Почему не 6.0, 0.5 и 0.5?
...
Рейтинг: 0 / 0
Запрос SQL
    #39721058
sanzhar333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plsql
1.
2.
3.
4.
select 'aa111aa' as barcode,6.927 as weight,888.60 as summa_do6kg,null as summa_zakazhdie_05kg,888.6 as summa_s_nds from dual union all
select 'aa111aa' as barcode,0.500 as weight,null as summa_do6kg,61.71 as summa_zakazhdie_05kg,61.71 as summa_s_nds from dual union all
select 'aa111aa' as barcode,0.427 as weight,null as summa_do6kg,61.71 as summa_zakazhdie_05kg,61.71 as summa_s_nds from dual union all
select 'bb222bb' as barcode,5 as weight,888.60 as summa_do6kg,null summa_zakazhdie_05kg,888.6 as summa_s_nds from dual
...
Рейтинг: 0 / 0
Запрос SQL
    #39721059
sanzhar333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
env,ошибочка вышла СОРРИ
...
Рейтинг: 0 / 0
Запрос SQL
    #39721060
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щукина Анна,

Не в ту степь ссылка. Ему надо размножение строк по фиксированному кванту от известной величины.
...
Рейтинг: 0 / 0
Запрос SQL
    #39721061
sanzhar333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
env,
...
Рейтинг: 0 / 0
Запрос SQL
    #39721062
sanzhar333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
env,
...
Рейтинг: 0 / 0
Запрос SQL
    #39721063
sanzhar333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
env,
спасибо большое что откликнулись
...
Рейтинг: 0 / 0
Запрос SQL
    #39721065
sanzhar333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sanzhar333,Нужно получить такой результат
То есть если WEIGHT до 6 и включительно,поле SUMMA_DO6kg считается 888.6
а если WEIGHT больше 6-ти,каждый 0.5(включительно) считается по 61.71
в нашем случае остаток 0.427 тоже считается по 61.71(любой остаток до 0.5(включительно) считается по 61.71)
...
Рейтинг: 0 / 0
Запрос SQL
    #39721076
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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.
29.
30.
31.
32.
WITH CTE(BARCODE,WEIGHT)
AS
(
  SELECT 'aa11aa' AS BARCODE,6.927 AS WEIGHT
   FROM DUAL

   UNION ALL

  SELECT 'bb222bb' AS BARCODE ,5 AS WEIGHT
   FROM DUAL
)
, t (barcode, weight, summa_do6kg, summa_zarfzhdie_05kg, summa_s_nds, overload_parts, overload_tail)
 as (
select barcode, WEIGHT
     , 888.6 summa_do6kg
     , cast(null as number), 888.6
     , ceil((WEIGHT-least(WEIGHT, 6))/.5) overload_parts
     , mod((WEIGHT-least(WEIGHT, 6)),.5) overload_tail
  from cte
 union all 
 select barcode
      , case overload_parts when 1 then overload_tail else .5 end
      , null
      , 61.71
      , 61.71
      , overload_parts-1, overload_tail
 from t
 where overload_parts > 0
)
select barcode, weight, summa_do6kg, summa_zarfzhdie_05kg, summa_s_nds 
  from t
 order by barcode, overload_parts desc;
...
Рейтинг: 0 / 0
Запрос SQL
    #39721083
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
env... Ему надо ...чётче формулировать свои мысли, чтобы окружающие понимали...

YouTube Video
...
Рейтинг: 0 / 0
Запрос SQL
    #39721531
sanzhar333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andrey_anonymous,спасибо Вам очень сильно помогли
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Запрос SQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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