Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Новичок - не знаю как такое сделать  [new]
Yurik_Tuturik
Member

Откуда:
Сообщений: 56
Есть таблица типа выработки. Там есть кол-во произведённого изделия. Пример:
select nvtrn_item,nvtrn_itemqty from mv_nvtrn выдаёт примерно следующее:
------------------------------
nvtrn_item | nvtrn_itemqty
------------------------------
Ш101.00.4208 | 60
Ш101.00.6300И3 | 43
........ .....
........ .....

и есть таблица структуры изделий. Там каждое изделие состоит из нескольких частей. Пример:
select pst_paritem,pst_detitem,pst_noff from pst_tiro where pst_paritem = 'Ш707.00.0465' or
pst_paritem = 'Ш707.00.0464' выдаёт примерно следующее:
--------------------------------------------
pst_paritem | pst_detitem | pst_noff
----------------------------------------
Ш101.00.4208 | Ш101.00.4208К | 1
Ш101.00.4208 | Ш101.00.4208К11 | 1
Ш101.00.6300И3| Ш101.00.6300К3 | 1
Ш101.00.6300И3| Ш101.00.6300К31 | 1
Вопрос: как сделать в запросе примено следующее:
select nvtrn_item,nvtrn_itemqty,pst_detitem,nvtrn_itemqty*pst_noff
from mv_nvtrn where nvtrn_item = 'Ш707.00.0465' or nvtrn_item = 'Ш707.00.0464'
left join pst_tiro on nvtrn_item = pst_paritem
------------------------------------------------------------------
Изделие | Кол-во | Компонент изделия | Кол-во компонента
------------------------------------------------------------------
Ш101.00.4208 | 60 | Ш101.00.4208К | 60
Ш101.00.4208 | 0 | Ш101.00.4208К11 | 60
Ш101.00.6300И3| 43 | Ш101.00.6300К3 | 43
Ш101.00.6300И3| 0 | Ш101.00.6300К31 | 43
т.е. чтобы в поле "Кол-во" нолики выскакивали
1 фев 08, 11:06    [5231195]     Ответить | Цитировать Сообщить модератору
 Re: Новичок - не знаю как такое сделать  [new]
tenzor
Member

Откуда: Россия
Сообщений: 151
Yurik_Tuturik
чтобы в поле "Кол-во" нолики выскакивали

это как?
1 фев 08, 11:27    [5231389]     Ответить | Цитировать Сообщить модератору
 Re: Новичок - не знаю как такое сделать  [new]
Jannny
Member

Откуда: Спб
Сообщений: 6424
А почему там должно быть именно 0? Во всех строках кроме первой что ли?
ЗЫ: Не экономьте на словах :)
1 фев 08, 11:31    [5231432]     Ответить | Цитировать Сообщить модератору
 Re: Новичок - не знаю как такое сделать  [new]
Yurik_Tuturik
Member

Откуда:
Сообщений: 56
ну вот изделие Ш101.00.4208 - в первой строке там кол-во 60, а во втророй строке - то же изделие, но кол-во 0. Тот select что я написал выдаст мне во второй строке 60. А как сделать чтоб там выдало 0?
1 фев 08, 11:33    [5231450]     Ответить | Цитировать Сообщить модератору
 Re: Новичок - не знаю как такое сделать  [new]
Yurik_Tuturik
Member

Откуда:
Сообщений: 56
ну вот в первой строке изделие Ш101.00.4208, кол-во - 60. Во второй строке - то же изделие. Тот select что я написал во второй строке выдаст мне число 60. А как сделать так чтоб мне там выдало 0?
1 фев 08, 11:36    [5231480]     Ответить | Цитировать Сообщить модератору
 Re: Новичок - не знаю как такое сделать  [new]
Jannny
Member

Откуда: Спб
Сообщений: 6424
decode(row_number() over (partition by nvtrn_item order by rownum/*?*/), 1, nvtrn_itemqty, 0)
1 фев 08, 11:37    [5231490]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить