Witam,
nie mogę sobie podzielić z napisaniem zapytania...wiem że powinno mi pomóc recursive, wiem jak to działa, ale mój przykład jest trochę bardziej złożony i gdzieś się gubię. Chodzi o stworzenia BOMu (bill of material), gdzie jest wiele poziomów złożeń. Mam tabelę produktów (IDP), tabelę półproduktów (IDPP), tabele łącząca produkty z półproduktami (IDP, ilosc, IDPP) i półprodukty między sobą (IDPP1, ilosc, IDPP2). i chciałbym mieć liste wszystkich półproduktów potrzebnych do wyprodukowania produktu IDP1 wraz z ilością każdego z półproduktu.
WITH RECURSIVE BOM (IDPP1, ilosc, IDPP2) AS ( SELECTID_IDPP1, ilosc, IDPP2 FROM polprodukt_polrprodukt UNION ALL SELECT pp.IDPP1, pp.ilosc, pp.IDPP2 FROM BOM b JOIN polprodukt_polrprodukt pp ON b.IDPP2=pp.IDPP1 ) SELECT * FROM BOM b JOIN produkty_polprodukty p ON p.IDPP = b.IDPP1 WHERE p.IDP = 1
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)