- Szívós, szép és kitartó az új OnePlus óra
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Külföldi prepaid SIM-ek itthon
- Xiaomi Mi 10T Pro - a házon belüli ellenfél
- Yettel topik
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Minden út Palindrómába vezet: leépítésekkel tér vissza a Realme a gyökereihez
- iPhone topik
- Google Pixel 9a - a lapos munka
- Samsung Galaxy A54 - türelemjáték
Új hozzászólás Aktív témák
-
bpx
őstag
válasz
DopeBob
#2511
üzenetére
MySQL-es példát mutatsz, de CONNECT BY-t szeretnél használni, ami az "igazi" Oracle-ben van, MySQL-ben nincs, így maradjunk az Oracle-nél. A példádat kicsit kiegészítettem, mert ha csak két szintes a hierarchia, akkor túl triviális, még CONNECT BY sem kell.
create table table1 (id varchar2(10), part varchar2(100), qty int);
insert into table1 (id, part, qty) values ('1', '1--1', 2);
insert into table1 (id, part, qty) values ('1', '1--2', 4);
insert into table1 (id, part, qty) values ('1', '1--3', 8);
insert into table1 (id, part, qty) values ('1', '1--4', 5);
insert into table1 (id, part, qty) values ('1--1', '1--1--1', 2);
insert into table1 (id, part, qty) values ('1--1', '1--1--2', 2);
insert into table1 (id, part, qty) values ('1--1', '1--1--3', 2);
insert into table1 (id, part, qty) values ('1--2', '1--2--1', 2);
insert into table1 (id, part, qty) values ('1--3', '1--3--1', 2);
insert into table1 (id, part, qty) values ('1--4', '1--4--1', 3);
insert into table1 (id, part, qty) values ('1--4--1', '1--4--1--1', 7);
commit;Lekérdezés + eredmény:
select id, part, qty,
(select exp(sum(ln(t2.qty)))
from table1 t2
start with t2.id = t1.id and t2.part = t1.part
connect by prior id = part
) mqty
from table1 t1
start with id = '1'
connect by id = prior part;
ID PART QTY MQTY
---------- -------------------- ---------- ----------
1 1--1 2 2
1--1 1--1--1 2 4
1--1 1--1--2 2 4
1--1 1--1--3 2 4
1 1--2 4 4
1--2 1--2--1 2 8
1 1--3 8 8
1--3 1--3--1 2 16
1 1--4 5 5
1--4 1--4--1 3 15
1--4--1 1--4--1--1 7 105Ha csak azok érdekelnek, amelyek a hierarchia utolsó szintjén vannak:
select id, part, qty, mqty from (
select id, part, qty,
(select exp(sum(ln(t2.qty)))
from table1 t2
start with t2.id = t1.id and t2.part = t1.part
connect by prior id = part
) mqty,
connect_by_isleaf leaf
from table1 t1
start with id = '1'
connect by id = prior part)
where leaf = 1;
ID PART QTY MQTY
---------- -------------------- ---------- ----------
1--1 1--1--1 2 4
1--1 1--1--2 2 4
1--1 1--1--3 2 4
1--2 1--2--1 2 8
1--3 1--3--1 2 16
1--4--1 1--4--1--1 7 105
Új hozzászólás Aktív témák
- Kínai és egyéb olcsó órák topikja
- Elégedetlen lenne az NVIDIA AI gyorsítóinak tempójával az OpenAI?
- Xbox Series X|S
- Linux kezdőknek
- Szívós, szép és kitartó az új OnePlus óra
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Napelem
- Futás, futópályák
- Fejhallgató erősítő és DAC topik
- Külföldi prepaid SIM-ek itthon
- További aktív témák...
- www.olcsogamerpc.hu - V018- DDR4 - INTEL i5-10400F - 16GB RAM - RTX 3060 12GB - 1TB SSD- HITELRE IS!
- www.olcsogamerpc.hu - V071- DDR4 - INTEL i5-14400F - 16GB RAM - RTX 5060Ti - 1TB SSD - HITELRE IS!
- GARANCIÁLIS! Intel Ultra 7 265KF+Asus RTX5080+64GB 6000Mhz RAM+2x1TB Nvme SSD+Asus ROG B860F Wifi7
- www.olcsogamerpc.hu - V065 - DDR4 - INTEL i5-12400F - 16GB RAM - RTX 5060Ti - 1TB SSD - HITELRE IS!
- Lenovo ThinkPad X1 Nano (Gen2)/13.0"/2160x1350/2K/IPS/i7-1260P/16GB/512GB/5G LTE/eSIM/Súly 0.966,5kg
- Keresünk Galaxy S23/S23+/S23 Ultra/S23 Fe
- GYÖNYÖRŰ iPhone 14 Pro Max 256GB Space Black-1 ÉV GARANCIA - Kártyafüggetlen, MS4143
- BESZÁMÍTÁS! ASRock X870 R9 7950X3D 32GB DDR5 1TB SSD RTX 4090 24GB Be quiet Pure Base 501 LX white
- BESZÁMÍTÁS! ASRock B550 R5 5600X 16GB DDR4 512GB SSD RTX 2060 Super 8GB Zalman S2 TG CM 650W
- Thermal Grizzly Aeronaut paszta 3,9g /BONTATLAN/Több darab/Számlával/
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs


