Verschachtelte MySQL-Abfrage

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

  • Verschachtelte MySQL-Abfrage

    Hallo,


    ich habe eine Frage zu MySQL 3.23.57:

    Ich möchte eine Abfrage durchführen, die mir Termine, die bestimmten Kriterien entsprechen, liefert. Die Abfrage soll etwa so aussehen:

    SELECT dates.date, dates.time, dates.id, dates.short, dates.cat, dates.teamid FROM dates WHERE dates.cat='y' OR dates.teamid IN (SELECT team_lookup.team_id FROM team_lookup WHERE team_lookup.member_id = '$userid')

    $userid ist eine PHP Variable, die eine Benutzernummer als int-Zahl enthält.

    Ich habe gelesen, dass Abfragen wie diese erst ab MySQL 4.1 funktionieren. Lässt sich das gleiche Resultat auch bei der oben genannten älteren Version erreichen?
    Ich hoffe Ihr könnt mir helfen.

    Vorab schon mal vielen Dank.

  • #2
    JOIN sollte dir dabei helfen

    Kommentar


    • #3
      Ich hatte das zuerst mit einem JOIN ausprobiert, MySQL hat mir bei der Abfrage allerdings einen Fehler gemeldet.

      Ich habe daraufhin mal das Kriterium cat='y' rausgelassen und dann ging die Abfrage. Mit cat='y' als zusätzliches Kriterium geht es aber leider nicht.

      Kommentar


      • #4
        wie sieht denn dein Versuch mit cat='y' aus?

        Kommentar


        • #5
          und vorallem, wie lautet die fehlermeldung?
          Die Zeit hat ihre Kinder längst gefressen

          Kommentar


          • #6
            Die Fehlermeldung ist leider nicht sehr produktiv. PHP meldet mir nur, dass die Abfrage kein gültis MySQL Ergebnis geliefert hat ("is not a valid MySQL result ").

            Ich habe aber eben in zahlreichen Foren gelesen, dass eine geschachtelte Abfrage, wie die oben dargestellte, erst ab MySQL 4.1 unterstützt wird.
            Da mein Provider allerdings nur eine ältere Version zur Verfügung stellt, interessiert mich, wie ich eine solche Abfrage realisieren kann, ohne die SELECTs zu schachteln.

            Kommentar


            • #7
              PHP meldet mir nur, dass die Abfrage kein gültis MySQL Ergebnis geliefert hat ("is not a valid MySQL result ").


              such bitte mal ... ach vergiß es ... mysql_error

              Da mein Provider allerdings nur eine ältere Version zur Verfügung stellt, interessiert mich, wie ich eine solche Abfrage realisieren kann, ohne die SELECTs zu schachteln.
              siehe asps beitrag!

              wenn du den join nicht hinkriegst, poste mal bitte einen tabellen-dump (auszugsweise), dann brauch ich mir nicht ewig gedanken machen, sondern kanns probieren.

              bitte [code ]-tags verwenden. danke.
              Zuletzt geändert von derHund; 12.01.2005, 05:13.
              Die Zeit hat ihre Kinder längst gefressen

              Kommentar


              • #8
                Original geschrieben von Loklear
                Die Fehlermeldung ist leider nicht sehr produktiv. PHP meldet mir nur, dass die Abfrage kein gültis MySQL Ergebnis geliefert hat ("is not a valid MySQL result ").
                s. Hinweis von "derHund"
                , interessiert mich, wie ich eine solche Abfrage realisieren kann, ohne die SELECTs zu schachteln.
                wenn dein Versuch kein Staatsgeheimnis ist dann poste das mal, fertige Abfrage bekommst du nicht Tipp: wegen OR in deiner Bedingung sollst du ein CROSS JOIN bauen.

                Kommentar

                Lädt...
                X