[MySQL 4.0] SUbquery's bzw. Subquerys auflösen und MySQL fähig machen !?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [MySQL 4.0] SUbquery's bzw. Subquerys auflösen und MySQL fähig machen !?

    Ich hab folgendes
    Code:
    SELECT tid, erstellerid FROM topics WHERE tid = 
    (SELECT  DISTINCT tid
    FROM topicbeitraege
    WHERE fid = 4
    ORDER  BY eid DESC )
    Dieser Query macht was ich will , ist allerdings leider nicht Mysql 4.0.14 kompatibel Kann ich den auflösen ?

  • #2
    Probiers mal so:
    Code:
    SELECT DISTINCT a.tid, a.erstellerid 
    FROM topics a, topicbeitraege b
    WHERE a.tid = b.tid AND b.fid = 4
    ORDER  BY b.eid DESC
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      [MySQL 4.0] hmm,

      das funktioneirt leider nicht

      Vergleiche auch dazu auch =>
      http://www.php-resource.de/forum/sho...threadid=25890

      Kommentar


      • #4
        beschreib doch mal die Tabellenstrukturen und das gewünschte ergebnis...
        Beantworte nie Threads mit mehr als 15 followups...
        Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

        Kommentar


        • #5
          Noch mal getippt, Du möchtest den max eid haben...
          Code:
          SELECT a.tid, a.erstellerid , max(b.eid)
          FROM topics a, topicbeitraege b
          WHERE a.tid = b.tid AND b.fid = 4
          GROUP BY a.tid, a.erstellerid
          Zuletzt geändert von MelloPie; 14.09.2003, 11:13.
          Beantworte nie Threads mit mehr als 15 followups...
          Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

          Kommentar


          • #6
            [MySQL 4.0] hmm,

            neenee,
            du bist aufem Holzweg.

            Es geht hier um die richtige sortierung, diese Sotierung soll nach der topicbeitraege.eid erfolgen.

            in der Tabelle topicbeitraege gibbet auch tid , diese tid kann beliebig viele eid 's haben Ich brauche aber nur einmal die tid

            Darum der Subquery
            Code:
            SELECT DISTINCT tid FROM topicbetraege WHERE fid = 4 
            ORDER BY eid
            Das ergibt dann die richtig sortierte liste an tid 's die dann von der Tabelle topics mit leben gefüllt werden soll. Das Problem ist dass
            mYsql KEINE sUBQUERYS KENNT und die sortierung nimmer funktioniert wenn ich eid nimmer im SELECT habe. Habe ich ihn aber im SELECT mit drin dann funktioneirt das DISTINCT nimmer

            Kommentar


            • #7
              also für mich sieht das nach nem ganz einfachen JOIN aus oder gibts irgendwelche gründe warum du das nicht machst?

              Kommentar


              • #8
                SELECT t.tid, t.erstellerid, t.eid
                FROM topics t, topicbeitraege b
                WHERE b.fid=4 and b.tid=t.tid
                GROUP BY b.tid
                ORDER BY t.eid DESC
                mein Sport: mein Frühstück: meine Arbeit:

                Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                Kommentar


                • #9
                  hmm,

                  @graf
                  Danke für den Tip, leider ist es nciht so trivial wie es aussieht !

                  @titus
                  eid gibt es nur in topicbeitraege , naja und soweit waren wir schon =>
                  Code:
                  SELECT t.tid, t.erstellerid, b.eid
                  FROM topics t, topicbeitraege b
                  WHERE b.fid=4 and b.tid=t.tid
                  GROUP BY b.tid
                  ORDER BY b.eid DESC
                  das sortiert nicht nach eid Leider

                  eid gibt es nur in topicbeitraege danach wird sortiert aber nur di etid ausgegebn und zwar die mit der höchsten eid. Leider 'vergisst' er die irgendwie

                  Kommentar


                  • #10
                    kannste die query nicht im join so drehen dass topicbeitrege haupttbelle ist, dann könnteste evt. richtig sortieren und hängst dann von topics den Rest einfach dran...
                    Beantworte nie Threads mit mehr als 15 followups...
                    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                    Kommentar


                    • #11
                      hmm,

                      wenn du den anderen Thread gelesen hast weisst du dass wir es so schon versucht haben

                      Kommentar

                      Lädt...
                      X