Keine Results nach JOIN

SPYFAN

Neuer Benutzer
Beiträge
3
Hallo!

Wäre sehr dankbar wenn mir hier wer auf die Sprünge helfen könnte. Habe hier eine Abfrage auf eine News Tabelle. Ziel ist es, alle News aus einem bestimmten Jahr abzurufen. An sich funktioniert die Abfrage auch. Wenn ich jedoch einen JOIN auf eine 2te Tabelle mit einbringe, gibt es keine Results und mir ist nicht im Ansatz klar weshalb.

Hier die Abfrage die funktioniert:
Code:
SELECT *
FROM `news_news`
WHERE `news_news`.status = 'view'
AND `news_news`.time >=1136070000
AND `news_news`.time <=1167519600
ORDER BY `news_news`.time DESC
LIMIT 0 , 10


Hier die Abfrage die kein Ergebnis liefert:
Code:
SELECT * 
FROM `news_news` 
JOIN `wcf1_user` ON `news_news`.forum_userid = `wcf1_user`.userID
WHERE `news_news`.status = 'view'
AND `news_news`.time >=1136070000
AND `news_news`.time <=1167519600
ORDER BY `news_news`.time DESC 
LIMIT 0 , 10
 
Werbung:

ukulele

Datenbank-Guru
Beiträge
4.579
Die Syntax sieht für mich richtig aus, allerdings nutze ich die JOIN Syntax selten. Hast du es mal mit INNER JOIN probiert? Ich bin nicht sicher, ob passende Daten in der wcf1_user Tabelle liegen müssen damit die Einträge angezeigt werden oder ob sie immer angezeigt werden, auch wenn kein Eintrag vorhanden ist.
 
Werbung:

SPYFAN

Neuer Benutzer
Beiträge
3
oh man.... du bist mein held!
mit INNER JOIN klappt es.... man war ich blind. Vielen Dank!

I.d.R. liegen immer in beiden Tabellen Results vor, da jede News defakto von einem User geschrieben wurde. Aber natürlich kann es (wenn auch extrem selten) vorkommen das eine UserID mal gelöscht wird weil der User seinen Account gelöscht hat. Also ist es schon besser LEFT JOIN zu nehmen, die News muss immer ausgelesen werden, egal ob die in der News Tabelle Hinterlegte UserID noch existiert oder nicht
 
Oben