Re: psql: höchster Wert auf True



begin Daniel Seichter <nospam@xxxxxxxxxxxxxx> wrote:
> Hallo,

> in einer Tabelle gibt es 2000 Datensätze. Der Aufbau dieser Werte ist, dass
> die letzte Stelle 0-Z immer eine Version angibt. Nun möchte ich gerne eine
> Funktion schreiben, die mir folgendes ermöglicht:
> Die ersten 7 Stellen gehören zusammen. Vergleiche nun alle Datensätze nach
> diesem Muster und setze das Feld gueltig bei dem Datensatz auf true, wenn
> die 8.Stelle des Wertes die höchste ist.
> Ich kann nicht automatisch sagen, dass der neue Datensatz gültig ist, da
> eventuell ein neuerer Wert schon existiert und dieser nur noch der
> vollständigkeitshalber hinzugefügt wird.
> Beispiel:
> AB123451;false
> AB123455;true <- höchster Wert an 8.Stelle, mit AB12345, deswegen true
> AB123453;false
> AB543212;false
> AB123454;false
> AB543218;true <- höchster Wert an 8.Stelle, mit AB54321, deswegen true
> ...

> Wie kann ich dies entwickeln?
> Es handelt sich hierbei immer um 8 Stellen.

Also:

test=# select * from foo;
x | b
----------+---
AB123451 | f
AB123455 | f
AB123453 | f
AB543212 | f
AB123454 | f
AB543218 | f
(6 rows)


Nun das Update:

update foo set b='t' where x in
(select a || b from
(select a, max(b) as b from
(select x, substring(x from 1 for 7) as a, substring(x from 8 for 1) as b from foo order by 1,2)x
group by a)c);



.... geht aber bestimmt noch schöner.


test=# select * from foo order by 1;
x | b
----------+---
AB123451 | f
AB123453 | f
AB123454 | f
AB123455 | t
AB543212 | f
AB543218 | t
(6 rows)



end
Andreas
--
Diese Message wurde erstellt mit freundlicher Unterstützung eines freilau-
fenden Pinguins aus artgerechter Freilandhaltung. Er ist garantiert frei
von Micro$oft'schen Viren. (#97922 http://counter.li.org) GPG 7F4584DA
Was, Sie wissen nicht, wo Kaufbach ist? Hier: N 51.05082°, E 13.56889° ;-)
.



Relevant Pages

  • Re: Ausarbeitung von Analog- und Digitalfotos
    ... Was ist hinsichtlich der moeglichen Freiheitsgrade an einem Datensatz ... Prev by Date: ... Next by Date: ...
    (de.rec.fotografie)
  • Re: MSDAIPP.DLL
    ... > überhaupt nicht funktionieren. ... Dies wurde aber irgendwann durch ein Update ... Prev by Date: ... Next by Date: ...
    (microsoft.public.de.german.windowsxp.sonstiges)
  • 5+Spieldauer fuer EAs NHL2006
    ... Ich jedenfalls kann die EA-Politik (Update zum Vollpreis) nicht gut ... Prev by Date: ... Next by Date: ...
    (de.rec.spiele.computer.action)
  • Re: dbase 3 export nach Ascii/CSV
    ... und wie sind diese Zeichen zu escapen? ... > MEMO-Textes zum Datensatz in der *.dbf stehen. ... Prev by Date: ... Next by Date: ...
    (de.comp.datenbanken.misc)
  • Re: DetailsView und Insert / Update
    ... PROBLEM BEI UPDATE KRITERIEN ... INSERT-STATEMENT FUNKTIONIERT NICHT ... Prev by Date: ... Next by Date: ...
    (microsoft.public.de.german.entwickler.dotnet.asp)

Loading