IST
PLAN
ADialog (5)
ADialog_Hr_Cal (1)
AJob (3)
App-Detail (7)
App-Link (39)
AReport (3)
Server-VM (1)
Software (1)
demo-online
Beschreibung
Bemerkung
Support
Hist
Plan
OK
abbrechen
Material
Stunden
Wiederholung
OK
abbrechen
Details lassen sich per Kopfrechnung weniger gut überschlagen. Dafür hat man ev. eine SQL samt Tools. z.B.
...
...
Eine SQL kann auch helfen mit rekursiven Strukturen umzugehen. z.B.: WITH RECURSIVE included_parts( t_nr, apart_artikelnr, artikelnr, par_menge, t1_x_menge) AS ( SELECT 1 as t_nr, apart_artikelnr, artikelnr, 1::numeric as par_menge, menge::numeric as t1_x_menge FROM frepjs2000.Artikel_AParts WHERE artikelnr like '%Pal%' UNION ALL SELECT (t_nr + 1) as t_nr, p.apart_artikelnr, p.artikelnr, (par_menge * 1)::numeric as par_menge, (p.menge * pr.t1_x_menge)::numeric as t1_x_menge FROM included_parts pr join frepjs2000.Artikel_AParts p on pr.apart_artikelnr = p.artikelnr ) SELECT string_agg( inc_pr.t_nr::varchar, ' ') as t_nrs, -- inc_pr.artikelnr, round( SUM( inc_pr.par_menge), 4) as menge, string_agg( distinct art.mengen_einheit, ' ') as mengen_einheit, -- inc_pr.apart_artikelnr as t_artikelnr, round( SUM( inc_pr.t1_x_menge), 4) as t1_x_menge, string_agg( distinct ap_art.mengen_einheit, ' ') as t_meh, string_agg( concat( f_n(inc_pr.t1_x_menge), f_meh( ' ', ap_art.mengen_einheit) ), ' + ') as t1_x_menge_dets, string_agg( concat( inc_pr.apart_artikelnr, ' ', f_n(inc_pr.t1_x_menge), f_meh( ' ', ap_art.mengen_einheit) ), ' + ') as t1_x_menge_dets_ex FROM included_parts inc_pr join frepjs2000.artikel art on inc_pr.artikelnr = art.artikelnr join frepjs2000.artikel ap_art on inc_pr.apart_artikelnr = ap_art.artikelnr GROUP BY inc_pr.artikelnr, inc_pr.apart_artikelnr ;