Schrift
[thread]3582[/thread]

größter von zwei Werten: MAX() macht da was anderes



<< >> 3 Einträge, 1 Seite
macMeck
 2005-06-07 14:22
#33331 #33331
User since
2003-08-04
162 Artikel
BenutzerIn
[default_avatar]
Hi zusammen,

ich häng mich grad an nem beknackten SQL-Problemchen auf und hab irgendwie den Durchblick verloren.

Der folgenden Pseudo-Code soll den Artikelbestand um die Zahl reduzieren, die das ? ersetzt. Negative Bestände sollen aber nicht eingetragen werden.

Code: (dl )
1
2
3
UPDATE ARTIKEL
SET ARTIKEL.BESTAND = MAX(ARTIKEL.BESTAND - ?, 0)
WHERE ARTIKEL.ID = 19295;

Dass das hier nicht funktioniert ist mir klar, weil die MAX()-Funktion im SQL ja das Maximum über die Spalten sucht. Aber die Frage ist, gibts was vergleichbares, das mir hier Abhilfe schafft?

Danke schon mal.

macMeck
It all works, as long as it's documented!
renee
 2005-06-07 14:36
#33332 #33332
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Zumindest bei MySQL gibt es IF():[sql]UPDATE ARTIKEL
SET ARTIKEL.BESTAND = IF(ARTIKEL.BESTAND - ? > 0, ARTIKEL.BESTAND - ?, 0)
WHERE ARTIKEL.ID = 19295;[/sql]
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
macMeck
 2005-06-07 17:24
#33333 #33333
User since
2003-08-04
162 Artikel
BenutzerIn
[default_avatar]
Okay, danke. Damit geht's erstmal...
It all works, as long as it's documented!
<< >> 3 Einträge, 1 Seite



View all threads created 2005-06-07 14:22.