schon wieder so ein AND/OR problem...

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

  • schon wieder so ein AND/OR problem...

    Hi nochmal!

    diesmal ist's aber kein logischer denkfehler.
    ich will die summe in einem von-bis-Zeitraum ermitteln.
    die variablen $itcvon und $itcbis bekomme ich von flash in form von 2002-01-05 und 2002-01-20. also genau so wie das datum in der DB steht.
    das funtzt auch soweit.

    wenn ich jetzt allerdings absichtlich einen zeitraum angebe wo gar nichts in der DB stehen kann (zB 2000-01-01/2000-01-05) dann kommt bei der summe nicht Null, sondern immer 300 => keine ahnung wo sql die 300 hernimmt.
    Das passiert wie gesagt wenn ich den Befehl mit OR wie folgt mache:
    $itcaczr = mysql_query("SELECT SUM(PAYmm) AS summe FROM tabelle WHERE DATEmm >= '$itcvon' AND DATEmm <= '$itcbis' AND STATUSmm = 'itc' OR STATUSmm = 'itcDemo'");
    $itcaczr2 = mysql_fetch_array($itcaczr);
    $itcaczr3 = $itcaczr2[summe];

    => und jetzt kommtst: wenn ich den befehl jetzt mit AND wie folgt mache:
    $itcaczr = mysql_query("SELECT SUM(PAYmm) AS summe FROM tabelle WHERE DATEmm >= '$itcvon' AND DATEmm <= '$itcbis' AND STATUSmm = 'itc' AND STATUSmm = 'itcDemo'");
    $itcaczr2 = mysql_fetch_array($itcaczr);
    $itcaczr3 = $itcaczr2[summe];
    => dann funktionierts. sprich dann gibt sql bei der summe wirklich Null zurück.
    wenn ich mit diesem befehl allerdings dann wieder einen vernünftigen zeitraum angebe (wo DS in der DB drinnen sind) dann ist die Summe wieder Null obwohl sie zB 1200 sein müßte.
    wie ist das zu erklären??
    $PHP resource 4ever$

  • #2
    hmm,

    hab ich es dir nicht schonmal gepostet ? OR ist , entgegen jeder Logik, bei MySQL stärker wie AND, sprich es wird erst die OR Bedingugn abgearbeitet dann die ANDs. Dass das mit nur ANDs 0 sein ist klar, hatten wir ja im letzten Thread.
    Naja und zur ersten kann ich nix sagen weil ich die Datensätze nicht kenne.

    Kommentar


    • #3
      ich meine den seltsamen query "verstanden" zu haben. so unwahrscheinlich das auch ist bei metallicas fragen

      Code:
      ("SELECT SUM(PAYmm) AS summe FROM tabelle WHERE (DATEmm >= '$itcvon' AND DATEmm <= '$itcbis') AND (STATUSmm = 'itc' OR STATUSmm = 'itcDemo')");
      weil metallica will ja einen datensatz der 1. zwischen $itcvon und $itcbis liegt, und zweitens bei STATUSmm den wert itc oder itcDEMO aufweist. richtig?

      ich bin genial
      h.a.n.d.
      Schmalle

      http://impressed.by
      http://blog.schmalenberger.it



      Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
      ... nur ohne :-)

      Kommentar


      • #4
        wow, schmalle. was soll ich sagen ausser dass es funtzt und du (fast) der beste bist.

        DANKE!!!
        $PHP resource 4ever$

        Kommentar


        • #5
          wer ist hier besser als ich????
          h.a.n.d.
          Schmalle

          http://impressed.by
          http://blog.schmalenberger.it



          Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
          ... nur ohne :-)

          Kommentar


          • #6
            hey du eingebildeter lümmel
            ihr seid alle gleich super => jetzt besser!!
            $PHP resource 4ever$

            Kommentar


            • #7
              hihi, ich weiss ja, dass ich bei weitem nicht der beste bin. aber ich muss es doch mal ausnutzen wenn joey die antwort nicht wusste
              h.a.n.d.
              Schmalle

              http://impressed.by
              http://blog.schmalenberger.it



              Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
              ... nur ohne :-)

              Kommentar


              • #8
                so gesehen haste auch wieder recht.
                $PHP resource 4ever$

                Kommentar

                Lädt...
                X