Abfrage sortieren (MySQL)

Hallo zusammen,
ich habe 2 Tabellen, welche ich mit einander verknüpft ausgeben möchte
tb_bookmark soll über host_id mit tb_host (Feld id) verknüpft werden.
Die Ausgabe soll jedoch sortiert erfolgen.
Mit folgedem SQL-String bekomme ich keine Ausgabe:

SELECT \* FROM tb\_bookmark 
 ORDER BY tb\_bookmark.entry
 RIGHT JOIN tb\_host
 ON tb\_bookmark.host\_id=tb\_host.id"
 LIMIT 0,6";

Lasse ich die Zeile ORDER… raus, so funktioniert’s.

Wer weiß rat?

Danke und Gruß
Marcel

P.S.
realisiert wird das ganze über PHP falls von Bedeutung…

ORDER BY ans Ende der Query. owT
.

leider nicht
Danke für die schnelle Antwort,
aber leider ist das Problem so nicht gelöst,
selbst wenn ich ORDER BY ans Ende des Strings stelle funzt es nicht,
ich bekomme keine Ausgabe.

Folgende Fehlermeldung gibt mysql_error() aus:

You have an error in your SQL syntax. 
Check the manual that corresponds to your MySQL server version
for the right syntax to use near 'ORDER BY tb\_bookmark.entry'
at line 1

Fehlernummer: 1064

Viell. noch nen Rat?

Gruß…

Hallo,

Danke für die schnelle Antwort,
aber leider ist das Problem so nicht gelöst,
selbst wenn ich ORDER BY ans Ende des Strings stelle funzt es
nicht,
ich bekomme keine Ausgabe.

ORDER BY muss vor LIMIT, aber nach allem anderen stehen…

Alexander

Hallo zusammen,
ich habe 2 Tabellen, welche ich mit einander verknüpft
ausgeben möchte
tb_bookmark soll über host_id mit tb_host (Feld id) verknüpft
werden.
Die Ausgabe soll jedoch sortiert erfolgen.
Mit folgedem SQL-String bekomme ich keine Ausgabe:

SELECT * FROM tb_bookmark
ORDER BY tb_bookmark.entry
RIGHT JOIN tb_host
ON tb_bookmark.host_id=tb_host.id"
LIMIT 0,6";

Hallo,
ich würde es so formulieren:
SELECT *
FROM tb_bookmark, tb_host
WHERE tb_bookmark.host_id=tb_host.id
ORDER BY tb_bookmark.entry
oder das müsste auch gehen:
SELECT * FROM tb_bookmark
RIGHT JOIN tb_host
ON tb_bookmark.host_id=tb_host.id"
ORDER BY tb_bookmark.entry
LIMIT 0,6";

Gruß

Peter

Lasse ich die Zeile ORDER… raus, so funktioniert’s.

Wer weiß rat?

Danke und Gruß
Marcel

P.S.
realisiert wird das ganze über PHP falls von Bedeutung…

Mahlzeit,

Danke für die schnelle Antwort,
aber leider ist das Problem so nicht gelöst,
selbst wenn ich ORDER BY ans Ende des Strings stelle funzt es
nicht, ich bekomme keine Ausgabe.

das hattest du hier vorbildlich gemacht und den Code reingesetzt:

SELECT \* FROM tb\_bookmark 
 ORDER BY tb\_bookmark.entry
 RIGHT JOIN tb\_host
 ON tb\_bookmark.host\_id=tb\_host.id"
 LIMIT 0,6";

Jetzt solltest du noch dazuschreiben, wie du das jetzt gelöst hast. Ich rate mal so:

SELECT \* FROM tb\_bookmark 
 ORDER BY tb\_bookmark.entry
 RIGHT JOIN tb\_host
 ON tb\_bookmark.host\_id=tb\_host.id
 LIMIT 0,6
 ORDER BY tb\_bookmark.entry;

Folgende Fehlermeldung gibt mysql_error() aus:

You have an error in your SQL syntax.
Check the manual that corresponds to your MySQL server version
for the right syntax to use near ‚ORDER BY tb_bookmark.entry‘
at line 1

Fehlernummer: 1064

So muß es heißen:

SELECT \* FROM tb\_bookmark 
 RIGHT JOIN tb\_host
 ON tb\_bookmark.host\_id=tb\_host.id
 LIMIT 0,6
 ORDER BY tb\_bookmark.entry;

(bzw. die beiden letzten Zeilen vertauschen, ich weiß grad nicht, ob ORDER BY zwingend vor oder nach LIMIT kommt).

Gruß

Sancho

DANKE!!!
Das wars…
Besten Dank

ORDER BY muss vor LIMIT, aber nach allem anderen stehen…

Gruß Marcel

Tag…

das hattest du hier vorbildlich gemacht und den Code
reingesetzt:

Danke :wink:

Jetzt solltest du noch dazuschreiben, wie du das jetzt
gelöst hast.

Ok, merk ich mir fürs nächstemal…

Ich rate mal so:

SELECT * FROM tb_bookmark
ORDER BY tb_bookmark.entry
RIGHT JOIN tb_host
ON tb_bookmark.host_id=tb_host.id
LIMIT 0,6
ORDER BY tb_bookmark.entry;

Fast, die zweite Zeile bie dir hatte ich (korrekterweise) gelöscht…

So muß es heißen:

SELECT * FROM tb_bookmark
RIGHT JOIN tb_host
ON tb_bookmark.host_id=tb_host.id
LIMIT 0,6
ORDER BY tb_bookmark.entry;

(bzw. die beiden letzten Zeilen vertauschen, ich weiß grad
nicht, ob ORDER BY zwingend vor oder nach LIMIT kommt).

Jepp, die beiden letzten vertauscht und dann funzt’s

Besten Dank für deine hilfe und die kostenlose Lernsequens *g*

Gruß

Marcel

Auch korrekt…
Hallo Peter, vielen Dank, so geht’s

Gruß

Marcel

oder das müsste auch gehen:
SELECT * FROM tb_bookmark
RIGHT JOIN tb_host
ON tb_bookmark.host_id=tb_host.id"
ORDER BY tb_bookmark.entry
LIMIT 0,6";