Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 18

Thema: Join Problem

  1. #1
    marquies
    Gast

    Standard Join Problem

    Ich denke ich habe ein ganz simpel zu lösendes Problem aber kriege es trotzdem nicht hin^^

    Also es sind 2 Tabellen gegen, eine heißt Foren und die andere Themen, wobei der Inhalt von Themen jeweils eine FID enthält womit man sie dem Forum zu ordnen kann.

    Nun möchte ich das zu jedem Forum sagen wir mal es sind 3 jeweils EIN Beitrag aus Themen hinzugefügt wird. (natürlich nur der Beitrag mit der jeweiligen FID)
    Dabei sollte aber nur der Beitrag mit der höchsten ID hinzugefügt werden.

    Hier mal meine bisherigen Tests:

    Code:
    $sql = mysql_query("
    SELECT forum.id AS id, 
                forum.name AS name, 
                forum.details AS details, 
                forum.topics AS topics, 
                forum.posts AS posts, 
    
                threads.id AS threadsid, 
                threads.fid AS threadsfid, 
                threads.topic AS threadstopic, 
                threads.date AS threadsdate, 
                threads.time AS threadstime 
    FROM threads INNER JOIN forum ON forum.id = threads.fid");


    So werden zwar die Themen richtig zu den Beiträgen geordnet aber wenn es zB 3 Foren und 6 Beiträge gibt werden auch 6 Beiträge ausgegeben obwohl nur 3 ausgegeben werden sollen.

    Ich hoffe schonmal das ihr mir helfen könnt.
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Kaiserliche Hoheit Avatar von No0ob
    Registriert seit
    02.01.2006
    Ort
    Nähe Frankfurt
    Beiträge
    1.500
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Hm, ich werde jetzt für nichts garantieren, aber dennoch versuch ichs mal. Eventuell gibt dir ja mein Ansatz Aufschluss über die Lösung
    Code:
    SELECT forum.id as id,
    forum.name as name, forum.details as details,
    forum.topics as topics,
    forum.posts as posts,
    threads.id as threadsid,
    threads.fid as threadsfid,
    threads.topic as threadstopic,
    threads.date as threadsdate,
    threads.time as threadstime
    FROM forum
    LEFT JOIN threads ON (threads.fid = forum.id)
    WHERE threads.id = (SELECT MAX(id) FROM threads WHERE fid = ".$forumid.")
    Vielleicht klappt das sogar :P

  3. #3
    Gast

    Standard

    Ja so klappt es da ich es auch schon so hatte^^ nur dan wird aber immer nur 1 Forum angezeigt nämlich das des Threads mit der Höchsten ID

  4. #4
    Meister(in)
    Registriert seit
    24.10.2006
    Beiträge
    288
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    versuchs mal mit nem group by...

  5. #5
    Gast

    Standard

    Mh kannst du mir das mit dem group by mal erklären? Ich werde mich auch mal mit google schlau machen

  6. #6
    Gast

    Standard

    Ich habs nun so gemacht.



    SELECT forum.id as id,
    forum.name as name, forum.details as details,
    forum.topics as topics,
    forum.posts as posts,
    threads.id as threadsid,
    threads.fid as threadsfid,
    threads.topic as threadstopic,
    threads.date as threadsdate,
    threads.time as threadstime
    FROM forum
    LEFT JOIN threads ON (threads.fid = forum.id)
    group by threads.fid

  7. #7
    Gast

    Standard

    Leider werden nur die Threads mit der niedrigsten id genommen

  8. #8
    Meister(in)
    Registriert seit
    24.10.2006
    Beiträge
    288
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    SELECT forum.id as id,
    forum.name as name, forum.details as details,
    forum.topics as topics,
    forum.posts as posts,
    threads.id as threadsid,
    threads.fid as threadsfid,
    threads.topic as threadstopic,
    threads.date as threadsdate,
    threads.time as threadstime
    FROM forum
    LEFT JOIN threads ON (threads.fid = forum.id)
    order by threads.id DESC
    group by forum.id




    probiers mal so.. kA obs funkt.

  9. #9
    Gast

    Standard

    Ne so gehts nit kommtn Fehler:

    Code:
     SQL-Befehl: Dokumentation
    
    SELECT forum.id AS id, forum.name AS name, forum.details AS details, forum.topics AS topics, forum.posts AS posts, threads.id AS threadsid, threads.fid AS threadsfid, threads.topic AS threadstopic, threads.date AS threadsdate, threads.time AS threadstime
    FROM forum
    LEFT JOIN threads ON ( threads.fid = forum.id )
    ORDER BY threads.id DESC
    GROUP BY forum.id
    LIMIT 0 , 30
    
    MySQL meldet: Dokumentation
    #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 'group by forum . id  LIMIT 0, 30' at line 1

  10. #10
    Gast

    Standard

    Code:
    Zeige Datensätze 0 - 6 (7 insgesamt, die Abfrage dauerte 0.0004 sek)
    SQL-Befehl: 
    SELECT forum.id AS id, forum.name AS name, forum.details AS details, forum.topics AS topics, forum.posts AS posts, threads.id AS threadsid, threads.fid AS threadsfid, threads.topic AS threadstopic, threads.date AS threadsdate, threads.time AS threadstime
    FROM forum
    LEFT JOIN threads ON ( threads.fid = forum.id )
    ORDER BY threads.id DESC
    Mit diesem Code kommt folgende ausgabe.
    Aber ich möchte nicht das alle 7 Ausgegeben werden sondern nur 2.
    Nämlich

    Code:
    1    News    News    5    4    9    1    Lol    20. Jul 2007    00:48
    und
    Code:
    2    Feedback    Hier kann Feedback hin^^    2    1    7    2    Gh    20. Jul 2007    00:30
    Code:
    anstatt
    id 	name 	details 	topics 	posts 	threadsid 	threadsfid 	threadstopic 	threadsdate 	threadstime
    1 	News 	News 	5 	4 	9 	1 	Lol 	20. Jul 2007 	00:48
    1 	News 	News 	5 	4 	8 	1 	Lol 	20. Jul 2007 	00:45
    2 	Feedback 	Hier kann Feedback hin^^ 	2 	1 	7 	2 	Gh 	20. Jul 2007 	00:30
    1 	News 	News 	5 	4 	6 	1 	Lol 	20. Jul 2007 	1184883995
    1 	News 	News 	5 	4 	5 	1 	Test 	20. Jul 2007 	1184883961
    2 	Feedback 	Hier kann Feedback hin^^ 	2 	1 	4 	2 	FID2 	FID2 	FID2
    1 	News 	News 	5 	4 	2 	1 	FID1 	FID1 	FID1
    [/code]

Ähnliche Themen

  1. Join Us - Formular/ Problem mit formmailer
    Von Guest im Forum HTML & CSS Forum
    Antworten: 10
    Letzter Beitrag: 14.08.2007, 21:58
  2. Join Us - Formular
    Von gast im Forum HTML & CSS Forum
    Antworten: 8
    Letzter Beitrag: 11.08.2007, 00:51
  3. LEFT JOIN
    Von im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 1
    Letzter Beitrag: 27.05.2007, 15:15
  4. Problem bei abfrage von DB daten mittels join
    Von Sukkubus im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 11
    Letzter Beitrag: 17.09.2005, 12:07
  5. sql - join
    Von phore im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 11
    Letzter Beitrag: 29.06.2005, 12:44

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •