Bookmarks

Yahoo Gmail Google Facebook Delicious Twitter Reddit Stumpleupon Myspace Digg

Search queries

nrao wwwxxx, xxxxxdup, procmail change subject header, wwwXxx not20, Wwwxxx.doks sas, linux raid resync after reboot, bind-address mysql multiple, sanibleone xxxx, ftp://192.168.100.100/, www.xxxcon

Links

XODOX
Impressum

#1: Staffelpreise Abfrage

Posted on 2008-04-14 11:22:52 by Tobias

Hallo,

ich bin gerade an der Erweiterung meines Shops.
Leider hänge ich im Moment an der Abfrage zu den Staffelpreisen.

Ich habe folgende Tabelle mit den Spalten:

preis_id*
preis
ab_menge


Mein Problem ist nun wie muss ich die Abfrage aufbauen um bei einer
übergebenen Menge die der Kunde über den Shop gewählt hat, den korrekten
Preis herauszufinden.

Beispiel:
Kunde legt einen Artikel in den Warenkorb mit Menge 105.

Folgende Werte stehen in der Tabelle

preis_id preis ab_menge
1 0.5 1
2 0.4 100
3 0.3 1000
4 0.25 1500


Ich möchte nun den Preis mit der ID 2 = 0.4 herausbekommen als Ergebnis.

Mit Between und einer Tabelle klappt das irgendwie nicht.
Ich bräuchte einen Vergleich zwischen jeweils 2 Einträgen innerhalb
einer Tabelle.


Vielen Dank im Voraus,

Tobias

Report this message

#2: Re: Staffelpreise Abfrage

Posted on 2008-04-14 11:57:40 by Harald Fuchs

In article <ftv7nh$47h$01$1@news.t-online.com>,
Tobias <btsms@arcor.de> writes:

> Hallo,

(Tobias wer? Hier gehören volle Namen zum guten Ton.)

> Ich habe folgende Tabelle mit den Spalten:

> preis_id*
> preis
> ab_menge


> Mein Problem ist nun wie muss ich die Abfrage aufbauen um bei einer
> übergebenen Menge die der Kunde über den Shop gewählt hat, den
> korrekten Preis herauszufinden.

> Beispiel:
> Kunde legt einen Artikel in den Warenkorb mit Menge 105.

> Folgende Werte stehen in der Tabelle

> preis_id preis ab_menge
> 1 0.5 1
> 2 0.4 100
> 3 0.3 1000
> 4 0.25 1500


> Ich möchte nun den Preis mit der ID 2 = 0.4 herausbekommen als Ergebnis.

> Mit Between und einer Tabelle klappt das irgendwie nicht.
> Ich bräuchte einen Vergleich zwischen jeweils 2 Einträgen innerhalb
> einer Tabelle.

Richtig, Du brauchst eine Zeile mit ab_menge <= 105, für die es keine
gröÃčere Zeile gibt, für die auch ab_menge <= 105 gilt:

SELECT p1.preis_id, p1.preis
FROM preise p1
LEFT JOIN preise p2 ON p2.ab_menge > p1.ab_menge
AND p2.ab_menge <= 105
WHERE p1.ab_menge <= 105
AND p2.preis_id IS NULL

Report this message

#3: Re: Staffelpreise Abfrage

Posted on 2008-04-14 11:58:46 by Harald Wenninger

* Tobias tat kund und zu wissen:

> Beispiel:
> Kunde legt einen Artikel in den Warenkorb mit Menge 105.

> Folgende Werte stehen in der Tabelle

> preis_id preis ab_menge
> 1 0.5 1
> 2 0.4 100
> 3 0.3 1000
> 4 0.25 1500

>
> Ich möchte nun den Preis mit der ID 2 = 0.4 herausbekommen als Ergebnis.

SELECT preis FROM preise
WHERE ab_menge<=105
ORDER BY ab_menge DESC LIMIT 1;

HTH,
Harald

--
Correspondence Corollary:
An experiment may be considered a success if no more than half
your data must be discarded to obtain correspondence with your theory.

Report this message

#4: Re: Staffelpreise Abfrage

Posted on 2008-04-14 13:04:05 by Tobias

Hallo,

Harald Wenninger schrieb:
> * Tobias tat kund und zu wissen:
>> Ich möchte nun den Preis mit der ID 2 = 0.4 herausbekommen als Ergebnis.
>
> SELECT preis FROM preise
> WHERE ab_menge<=105
> ORDER BY ab_menge DESC LIMIT 1;
>

Super, Vielen Dank so funktioniert es.

Gruss

Tobias

Report this message