Antworten
Offset bestimmt die Position, ab der die Ausgabe erfolgen soll....
LIMIT (0, 1) bedeutet also, dass du den ersten Wert auslesen möchtest beginnend ab Position 0 (also Start)
LIMIT (10, 100) bedeutet, dass du ab der Position 10 die nächsten 100 Einträge ausgegeben haben möchtest... Braucht man vor allem für die seitenweise Darstellung der Einträge, um den Startpunkt festzulegen. In deinem Fall ist LIMIT 1 ein Äquivalent für LIMIT (0,1).
2.
Ja, das ist mir klar gewesen mit LIMIT 1, LIMIT 0,1 etc. Ich meinte ob ich aus zwei Tabellen lesen kann und die tab1 auf LIMIT 1 irgendwie beschränken kann, aus tab2 sollen dann ALLE dazugehörigen Daten abgerufen werden!???
Also in der Art:
[PHP]
$SQLString = "SELECT DBxxx.kundendaten.id, kundendaten.name, DBxxx.bestellung.anzahl, bestellung.bestellnummer, FROM DBxxx.kundendaten LIMIT 1 LEFT JOIN DBxxx.bestellung ON DBxxx.kundendaten.session=DBxxx.bestellung.session ";
[/PHP]
So funktionierts ja nicht! Also LIMIT 1 nach tab1...
3.
Wie du schon festgestellt hast, so geht es nicht... LIMIT 0, 1 bewirkt immer, dass nur der erste Datensatz dir zurückgegeben wird. Also das LIMIT ganz nach hinten. Du erhälst deswegen trotzdem nur den ersten Datensatz der diese Bedingungen erfüllt.
4.
Erweitere mal um
Code: In Zwischenablage kopieren (nur IE)
TenBaseT
5.
Hm, ich glaube wir reden aneinander vorbei. Wenn ich die LIMIT 1 oder 0, 1 ans Ende setze, erhalte ich logischerweise 1 Datensatz (also einen Kunden) ausgegeben. Aus der tab2, in der mehrere Bestellungen von ihm sind, erhalte ich dann ja auch nur die 1 Bestellung zu dem Kunden! Und da stehen aber beispielsweise 3 drin...
Ich wollte fragen ob es möglich ist, nur einen Kunden auszugeben und aus der tab der Bestellungen a l l e dazugehörigen Datensätze abzurufen. So dass ich als Beispiel bekomme..
Kunde XY -> aus tab1 (mit LIMIT 1)
bestellung 1 -> aus tab2 (ohne LIMIT)
bestellung 2 -> aus tab2 (ohne LIMIT)
bestellung 3 -> aus tab2 (ohne LIMIT)
usw.
Die Bestellungen und der Kunde finden sich anhand der gleichen gespeicherten Session ID! Oder ist so etwas eben nicht möglich? Nochmals vielen Dank :)
und die Erweiterung mit WHERE läuft nicht...
6.
Dann frag das doch gleich....
Wie TenBaseT schon geschrieben hat, musst du der Abfrage natürlich dann auch sagen, welchen Kunden du abfragen möchtest... Da brauchst du kein LIMIT...
z.B.
Code: In Zwischenablage kopieren (nur IE)
Da wir deinen Tabellenaufbau und die entsprechenden Logiken aber nicht kennen, ist es nicht wirklich möglich, dir jetzt zu sagen, du musst dieses oder jenes Feld abfragen. Das musst du schon rausfinden.
BTW:
Zitat:
und die Erweiterung mit WHERE läuft nicht..
Das ist übrigens keine Fehlermeldung aus dem SQL-Handbuch. Hast du dich schonmal gefragt, warum wir aneinander vorbeireden??? Ich weiß es....