WHERE clausel und left join problem

brathein

Neuer Benutzer
Beiträge
2
hallo,

ich habe irgendwie einen hänger ..
folgendes problem.

ich habe zwei tabellen
1. `rssfeed`
in der `rssfeed` sind feedadressen gespeichert, in der `rssfeed` tabelle sind 82 einträge

2. `savedfeed`
in der `savedfeed` ist gespeichert ob ich die rssadresse für mich schon gespeichert habe

soweit geht das auch super

Code:
SELECT
rf.id,
rf.name,
rf.description,
rf.land,   
rf.district,
rf.city,
rf.category,
rf.user_id ,
sf.userid as saved
 
FROM rssfeed as rf
 
left join (
 
SELECT * FROM savedfeed WHERE userid = 1
 
) as sf
 
on rf.id = sf.sfeedid
 
LIMIT 40


mit der ersten anfrage bekomme ich meine 40 einträge

dann wird irgendwann wieder angefragt wobei ich jetzt ab dem 40 eintrag abfragen möchte
im meinem fall ist der 40 eintrag die rf.id `132` .. ab diesem eintrag möchte ich die nächsten 40 einträge aus der DB abfragen

und da ist das problem:
?? wo muss ich die WHERE clausel richtig setzten ??


Code:
SELECT
rf.id,
rf.name,
rf.desc,
rf.land,   
rf.dist,
rf.city,
rf.cat,
rf.user_id ,
sf.userid as saved
 
FROM rssfeed
WHERE rf.id > 132 as rf
 
left join
(
SELECT * FROM savedfeed WHERE userid = 1
) as sf
on rf.id = sf.sfeedid
LIMIT 40


in diesem fall bekomme ich immer fehler.
Fehlermeldung sieht wie folgt aus:

#1064 - 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 'as rf left join ( SELECT * FROM savedfeed WHERE userid = 1 ) as sf on rf.' at line 13


bin über jede hilfe dankbar.
 
Werbung:

brathein

Neuer Benutzer
Beiträge
2
ach .. ich bin ein horn ...
ich habe es

Code:
SELECT
rf.id,
rf.name,
rf.desc,
rf.land, 
rf.dist,
rf.city,
rf.cat,
rf.user_id ,
sf.userid as saved
 
FROM ( SELECT * FROM rssfeed WHERE id > 132 ) as rf
 
left join
(
SELECT * FROM savedfeed WHERE userid = 1
) as sf
on rf.id = sf.sfeedid
LIMIT 40
 
Werbung:

akretschmer

Datenbank-Guru
Beiträge
9.731
ach .. ich bin ein horn ...
ich habe es

Nicht ganz korrekt, besser wäre es

  • mit einem ORDER BY vor dem Limit zu arbeiten, Du kannst und darfst Dich nicht drauf verlassen, daß die Daten immer sortiert rausfallen
  • schau Dir LIMIT in verbindung mit OFFSET an, das wurde als Lösung für Probleme wie Deines geschaffen
 
Oben