Problem mit SQL-Abfrage

Guten Morgen,

ich hoffe Ihr könnt mir helfen, ich sehe den Wald vor lauter Bäumen nicht mehr http://phpforum.de/forum/images/smilies/frown.gif

Ich möchte zu einer gewählten Stückzahl zwei Preise aus einer Datenbank lesen, welche kleiner-gleich und größer-gleich zu meiner Stückzahl sind.

Die Tabelle sieht so aus:

ID | Produkt ID | Stückzahl | Preis
1 | 1 | 1000 | 100,00
2 | 1 | 25000 | 2000,00
3 | 1 | 10000 | 1000,00
4 | 2 | 1000 | 150,00
.
.
.

Beispiele:
definierte Stückzahl = 1000
→ DS ID 1
→ DS ID 3

definierte Stückzahl = 9000
→ DS ID 1
→ DS ID 3

definierte Stückzahl = 10000
→ DS ID 1
→ DS ID 3

definierte Stückzahl = 15000
→ DS ID 3
→ DS ID 2

definierte Stückzahl = 25000
→ DS ID 3
→ DS ID 2

Meine bisherigen Abfrageversuche:

preis_min:

SELECT id,stkz,preis FROM preise WHERE (produkt_id='$db_produkt_id' AND stk <= '$def_stkz') ORDER BY stkz DESC LIMIT 1

preis_max:

SELECT id,stkz,preis FROM preise WHERE (produkt_id='$db_produkt_id' AND stkz >= '$def_stkz' AND id != '$db_preis_min_id') ORDER BY stkz ASC LIMIT 1

Diese Methode klappt aber nicht richtig, da ich zB. bei Stkz = 25000 keinen Max-Preis bekomme … (weil 25000 = Min-Preis und Max-Preis darf nicht Min-Preis-ID sein …)

Ich würde mich sehr über konstruktive Hilfe freuen und bedanke mich schon einmal vorab!

Frank

Wenn ich dich jetzt richtig verstehe, du willst ein Produkt mit höherer Stückzahl als das Produkt mit der höchsten?
Das geht ja nicht.

Was erwartest du bei preis_max, wenn preis_min stk 25000 ist?

Hi,

vielen Dank für Deinen Post.

Vielleicht hab ich mich falsch ausgedruckt :wink:

Ich möchte zu einem Produkt zwei Stückzahlen mit zugehörigen Preisen aus der DB holen, welche kleiner-gleich bzw. größer-gleich der gewählten Stückzahl sind.

Also bei einer gewählten Stückzahl von 25000 sollen die Datensätze 3 (min = 10000) und 2 (max = 25000) gelesen werden.

Ich benötige also zu jeder auswählbaren Stückzahl zwei Stückzahlen/Preise.

Frank