Portál AbcLinuxu, 12. listopadu 2025 16:20
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.