Was ist an diesen Statement plötzlich falsch ?

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

  • Was ist an diesen Statement plötzlich falsch ?

    Hallo Leute !

    Habe hier ein Statement was auf einmal nicht mehr funktioniert !

    SELECT helpdesk.predatum,helpdesk.postdatum,helpdesk.fachbereich,helpdesk.techniker,user.gruppe, Count(user.gruppe) AS Anzahlgruppe, Sum(helpdesk.gesamtzeit) AS Summegesamtzeit
    FROM helpdesk INNER JOIN user ON helpdesk.techniker = user.username
    GROUP BY user.gruppe
    HAVING (helpdesk.predatum between '2003-04-01' and '2003-04-30') and (helpdesk.postdatum <> '0000-00-00') and (helpdesk.fachbereich = 'technik') and (techniker<>'offen') AND (fachbereich='technik')
    order by summegesamtzeit DESC

    Wenn ich die "BETWEEN" abfrage weglasse funktioniert es ! nur halt für das ganze Jahr ! In der Datenbank sind auch RICHTIGE wWerte enthalten, die bei dieser Abfrage rauskommen müssten ! aber das Ergebnis ist immer gleich null !

    Der Fehler ist irgendwo hier :
    HAVING (helpdesk.predatum between '2003-04-01' and '2003-04-30') and (helpdesk.postdatum <> '0000-00-00') and


    Was ist daran falsch ?????

    Vielen dank für eure Hilfe !

    -Sven

  • #2
    Bist Du sicher das Du's in der HAVING-Klause haben willst ... ??

    Was sage mysql_error() ???

    Was hat sich geändert seitdem es nicht mehr funktioniert???
    carpe noctem

    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

    Kommentar


    • #3
      Am Rande:
      Eine Sache, die MYSQL zwar akzeptiert aber nicht SQL Standard ist, ist dass Du nicht nach allen single cols gruppierst.
      Beantworte nie Threads mit mehr als 15 followups...
      Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

      Kommentar


      • #4
        Original geschrieben von MelloPie
        Am Rande:
        Eine Sache, die MYSQL zwar akzeptiert aber nicht SQL Standard ist, ist dass Du nicht nach allen single cols gruppierst.
        Die Diskussion hatte ich in der MySQL-Mailingliste schon mal ... laut Monty Widenius ist's so ANSI-Konform ... selbst der Hinweis das man damit ganz schön schwachsinnige Ergebnisse produzieren kann ... brachte allerdings keine Einsicht ...
        carpe noctem

        [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
        [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

        Kommentar


        • #5
          Ajo die Ergebnisse können wundersam sein :-)

          Versuchst Du sowas in Oracle einzuspeisen gibts ein ORA- not a group by expression Fehler.
          Was ja auch völlig richtig ist.
          Beantworte nie Threads mit mehr als 15 followups...
          Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

          Kommentar


          • #6
            Noch mals am Rande:
            @see Goths reply

            The HAVING clause can refer to any column or alias named in the select_expression. It is applied last, just before items are sent to the client, with no optimization. Don't use HAVING for items that should be in the WHERE clause. For example, do not write this:
            mysql> select col_name from tbl_name HAVING col_name > 0;

            Write this instead:
            mysql> select col_name from tbl_name WHERE col_name > 0;
            Beantworte nie Threads mit mehr als 15 followups...
            Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

            Kommentar


            • #7
              Original geschrieben von MelloPie
              Versuchst Du sowas in Oracle einzuspeisen gibts ein ORA- not a group by expression Fehler.
              Was ja auch völlig richtig ist.
              Das sehe ich auch so ... !
              carpe noctem

              [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
              [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

              Kommentar

              Lädt...
              X