- Feltűnt az Xperia 1 VIII és 10 VIII az IMEI adatbázisban
- Poco X3 Pro - hardverfrissítés
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Itt vannak az eddigi legrészletesebb képek a Samsung Galaxy A37-ről és A57-ről
- Külföldi prepaid SIM-ek itthon
- iPhone topik
- Bemutatkozott a Poco X7 és X7 Pro
- Milyen okostelefont vegyek?
- Apple Watch Sport - ez is csak egy okosóra
- Google Pixel topik
Ú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
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- VGA kibeszélő offtopik
- Feltűnt az Xperia 1 VIII és 10 VIII az IMEI adatbázisban
- Poco X3 Pro - hardverfrissítés
- Polgári repülőgép-szimulátorok
- Elektromos autók - motorok
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Milyen egeret válasszak?
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- További aktív témák...
- Gamer PC I5 12400F, RTX3050 OC 8 GB, 16GB DDR4. 1 TB SSD
- LG 27MP60G 27" IPS FHD monitor
- BESZÁMÍTÁS! Sony PlayStation 5 825GB SSD lemezes konzol fejhallgatóval garanciával hibátlan működés
- LG 27MK600M-B 27" IPS FHD monitor
- BESZÁMÍTÁS! Nintendo Switch OLED 64GB játékkonzol garanciával hibátlan működéssel
- Honor Pad 8 / 6/128GB / Wi-fi / 12Hó Garancia
- ÁRGARANCIA! Épített KomPhone Ultra 9 285K 32/64GB RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
- GYÖNYÖRŰ iPhone 13 Mini 128GB Green -1 ÉV GARANCIA - Kártyafüggetlen, MS4492, 100% Akkumulátor
- Bomba ár! Lenovo ThinkPad X390: i5-G8 I 16GB I 256SSD I 13,3" FHD Touch I HDMI I Cam I W11 I Gar
- BESZÁMÍTÁS! BenQ GW2270 22 75Hz VA FHD 5ms monitor garanciával hibátlan működéssel
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest


