Bookmarks

Yahoo Gmail Google Facebook Delicious Twitter Reddit Stumpleupon Myspace Digg

Search queries

sqldatasource dal, wwwxxxenden, convert raid5 to raid 10 mdadm, apache force chunked, nrao wwwxxx, xxxxxdup, procmail change subject header, wwwXxx not20, Wwwxxx.doks sas, linux raid resync after reboot

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