phpbar.de logo

Mailinglisten-Archive

limit

limit

Cybot 4t2.com-mysql at tekkno4u.de
Mon Mar 17 09:31:44 CET 2003


> Ich bastele gerade an einen Bestellvorschlag für unsere Lagerverwaltung
> darin ermittle ich mit einem SELECT das Datum für alle Artikel die
> eine 0-Bestand haben wann sie ausgegangen und vor wieviel Tagen der
> Artikel ausgegangen ist. Vom zurückgelieferten Resultset brauche ich 
> eigentlich nur eine Zeile (nämlich die jüngste).
> 
> Deswegen mache ich ORDER BY Rechnug_Datum DESC LIMIT 1
> Dann liefert er mir aber gar nichts :-( Mache ich LIMIT 50 dann gibts
> wenigstens noch vier Zeilen und ohne LIMIT  werden 71 Zeilen zurüc-
> geliefert.
> 
> warum macht MySQL das so?
> hier mein vollständiger SELECT
> 
> SELECT rk.ID, 
> 	rk.Rechnung_Datum, 
> 	TO_DAYS(CURRENT_DATE()) - TO_DAYS(rk.Rechnung_Datum) AS Fehltage 
> 
> FROM RechnungPosition rp, RechnungKopf rk
> 	
> 	WHERE rk.ID = rp.RechnungID
> 	
> 		AND rp.Artikel = '2'
>                 AND rk.Status > 1
> 		
> 	ORDER BY rk.Rechnung_Datum DESC LIMIT 1
> 
> Ihr seht also keine große Sache
> OK ich kann ohne limit abfragen und nur die erste Zeile verwenden
> ist aber kein guter Stil und ich würde schon gerne wissen wieso
> das so passiert.

versuch mal deine bedingungen im wehre in eine andere reihenfolge zu 
bringen, deine erste bedingung geht auf die zweite tabelle, und mysql 
bricht bei der ersten tabelle nach einer gewissen anzahl von datensätzen 
ab, wegen des limits, ohne aber zu wissen ob dann letzendlich überhaupt 
datensätze übrig bleiben wenn wenn die zweite where bedingung auf die 
erste tabelle auch noch zum tragen kommt

also,

- auswahl aus erster tabelle mit berücksichtigung des wehre für diese 
tabelle und des limit
- verknüpfung mit zweiter tabelle
- anwenden des zweiten where auf die erhalten datensätze

dabei kann es dann halt passieen das keine datensätze übrig bleiben

...mhm also ich wüsste jetz glaube ich nicht was ich meinte, wenn ich 
nicht ich wäre ... egal, stell einfach die where bdignungen mal um

-- 
Sebastian Mendel

info at sebastianmendel.de

www.sebastianmendel.de
www.tekkno4u.de
www.nofetish.com

-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive