Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / PL/SQL запрос / 11 сообщений из 11, страница 1 из 1
23.10.2018, 07:56
    #39721217
sanzhar333
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PL/SQL запрос
Есть такая таблица с столбцами barcode(varchar),weight(number)
...
Рейтинг: 0 / 0
23.10.2018, 07:56
    #39721218
sanzhar333
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PL/SQL запрос
Нужно получить такой результат
if weight <= 6,поле SUMMA_DO6kg = 888.6,поле summa_zakazhdie_05kg = null,summa_s_nds = 888.6



а если weight > 6 поле SUMMA_DO6kg = 888.6,поле summa_zakazhdie_05kg = 61.71,summa_s_nds = 61.71
каждый 0.5кг после 6-ти кг равняется:SUMMA_DO6kg = null,поле summa_zakazhdie_05kg = 61.71,summa_s_nds = 61.71
каждый остаток после 0.5 равняется:SUMMA_DO6kg = null,поле summa_zakazhdie_05kg = 61.71,summa_s_nds = 61.71
...
Рейтинг: 0 / 0
23.10.2018, 07:58
    #39721219
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PL/SQL запрос
дубль то зачем
...
Рейтинг: 0 / 0
23.10.2018, 08:00
    #39721220
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PL/SQL запрос
sanzhar333,

Девичья память? На утро уже не помнишь, что было вечером?
...
Рейтинг: 0 / 0
23.10.2018, 08:00
    #39721221
sanzhar333
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PL/SQL запрос
andreymx,нужны дубли
...
Рейтинг: 0 / 0
23.10.2018, 08:01
    #39721222
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PL/SQL запрос
andreymxдубль то зачемТам была другая формулировка темы.
...
Рейтинг: 0 / 0
23.10.2018, 08:04
    #39721223
sanzhar333
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PL/SQL запрос
немножко не правильно сформулировал свой вопрос
а если weight > 6
Первые 6 считаются так: поле SUMMA_DO6kg = 888.6,поле summa_zakazhdie_05kg = null,summa_s_nds = 888.6
каждый 0.5кг после 6-ти кг равняется:SUMMA_DO6kg = null,поле summa_zakazhdie_05kg = 61.71,summa_s_nds = 61.71
каждый остаток после 0.5 равняется:SUMMA_DO6kg = null,поле summa_zakazhdie_05kg = 61.71,summa_s_nds = 61.71
...
Рейтинг: 0 / 0
23.10.2018, 10:27
    #39721280
MazoHist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PL/SQL запрос
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
WITH t1 as 
(
  SELECT 'aa11aa' AS BARCODE,6.927 AS WEIGHT
   FROM DUAL

   UNION ALL

  SELECT 'bb222bb' AS BARCODE ,5 AS WEIGHT
   FROM DUAL                        
   ) 
select * from t1
union all
select t1.barcode, least(0.5, WEIGHT-6-((rownum-1)*0.5)) weight
  from t1, 
 table(select cast(collect(1) as sys.odcinumberlist) from dual connect by level <= ceil((WEIGHT-6)/0.5))
 where t1.WEIGHT > 6
 order by 1,2 desc


а цены уже как-нибудь сами
PS: RTFM CASE Expressions
...
Рейтинг: 0 / 0
23.10.2018, 10:33
    #39721289
MazoHist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PL/SQL запрос
MazoHist
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
...
select * from t1
union all
select t1.barcode, least(0.5, WEIGHT-6-((rownum-1)*0.5)) weight
  from t1, 
 table(select cast(collect(1) as sys.odcinumberlist) from dual connect by level <= ceil((WEIGHT-6)/0.5))
 where t1.WEIGHT > 6
 order by 1,2 desc



Fixed:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
....
select t1.* from t1
union all
select t1.barcode, least(0.5, WEIGHT-6-((row_number()over (partition by t1.barcode order by null)-1)*0.5)) weight 
  from t1, 
 table(select cast(collect(1) as sys.odcinumberlist) from dual connect by level <= ceil((WEIGHT-6)/0.5))
 where t1.WEIGHT > 6
 order by 1,2 desc
...
Рейтинг: 0 / 0
23.10.2018, 10:48
    #39721295
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PL/SQL запрос
MazoHist,

"SQL запрос" ему уже дали в предыдущей теме. Теперь ему нужен "PL/SQL запрос".
Да и вообще, вряд ли этот хомо сапиенс. Темо-генератор. Сначала создал тему, на ответ в которой никак не прореагировал. Потом создал три темы с одинаковым содержанием и отвечает невпопад.
...
Рейтинг: 0 / 0
23.10.2018, 16:18
    #39721532
sanzhar333
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PL/SQL запрос
MazoHist,Спасибо большое
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / PL/SQL запрос / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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