Portál AbcLinuxu, 10. května 2025 12:41
id_porostu | sm | bk | jd | max -----------+----+----+----+----- 1 | 100| 0 | 0 | sm 2 | 30 | 50 | 20 | bk 3 | 90 | 5 | 5 | sm 4 | 30 | 30 | 40 | jd ...nevíte prosím někdo, jak na to, ať už pomocí sql a nebo skriptem? dík jáchym
import os, string, sys for line in os.popen("""psql -tA -F " " -d databaze -c "select id_porostu,sm,bo,jd,md,dg,bk,db,js,jv,lp FROM det" """): if len(line.split()) == 11: #[id,sm,bo,jd,md,dg,bk,db,js,jv,lp] = line.split() line=line.split() dreviny=[] for strom in line: dreviny.append(string.atoi(strom)) maximum=max(dreviny[1:]) result = { dreviny[1]: 'spruce', dreviny[2]: 'pine', dreviny[3]: 'fir', dreviny[4]: 'larch', dreviny[5]: 'douglas', dreviny[6]: 'beach', dreviny[7]: 'oak', dreviny[8]: 'beach', dreviny[9]: 'maple', dreviny[10]: 'oak' }[maximum] #sys.stdout=sys.stderr print """update det set baumart='%s' where id_porostu=%d;\n""" % (result, dreviny[0])
ale slo by to snad cez pl/pgsql
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.