Keine Results mit JOIN, ohne JOIN schon

Hier kommen Posts zu anderen Datenbanken als PostgreSQL rein.
Antworten
SPYFAN
Neuer Benutzer
Beiträge: 2
Registriert: So 25. Mär 2012, 16:31
Kontaktdaten:

Keine Results mit JOIN, ohne JOIN schon

Beitrag von SPYFAN » So 25. Mär 2012, 16:36

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: Alles auswählen

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

Bild



Hier die Abfrage die kein Ergebnis liefert:

Code: Alles auswählen

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

Bild

akretschmer
Erfahrener Benutzer
Beiträge: 7485
Registriert: So 29. Okt 2006, 13:35
Wohnort: Kaufbach, Sachsen, Germany, Germany
Kontaktdaten:

Beitrag von akretschmer » So 25. Mär 2012, 17:02

SPYFAN hat geschrieben: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: Alles auswählen

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

Bild



Hier die Abfrage die kein Ergebnis liefert:

Code: Alles auswählen

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

Bild



Was für ein JOIN? Left, Right, Inner, ...

Und außerdem: hier geht es um Datenbanken mit PostgreSQL, nicht um MyZettelkasten.


Andreas
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

SPYFAN
Neuer Benutzer
Beiträge: 2
Registriert: So 25. Mär 2012, 16:31
Kontaktdaten:

Beitrag von SPYFAN » So 25. Mär 2012, 19:01

Zu 1:
Ach wie dumm von mir.... danke für den Wink mit dem Zaunpfahl. LEFT JOIN sollte es sein und das funktioniert dann auch.... *peinlich*

Zu 2:
Sorry, da habe ich wohl auch ordentlich gepennt. Nichts für ungut und trotzdem Danke! :)

ads
Erfahrener Benutzer
Beiträge: 4148
Registriert: Mi 8. Feb 2006, 10:58
Wohnort: MD
Kontaktdaten:

Beitrag von ads » So 25. Mär 2012, 20:48

Mal verschoben ...
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören Bild

Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler

PostgreSQL Service & Support

Antworten