Stefan Lippmann: sql abfrage

"SELECT * FROM issue WHERE DateEnter = '$DateEnter' and StateID = '$status' and CommiteeID = '$commitee' and OriginatorID = '$mitarbeiter'";

Das ist meine Abfrage, die funktioniert auch. Allerdings habe ich noch eine Spalte "Assign" in meiner tabelle. Nun sollen alle angezeigt werden wo
 DateEnter = '$DateEnter' und
 StateID = '$status' und
 CommiteeID = '$commitee' und
 OriginatorID = '$mitarbeiter'

oder

DateEnter = '$DateEnter' und
 StateID = '$status' und
 CommiteeID = '$commitee' und
 Assign = '$mitarbeiter' ist.

wie mach ich das.

  1. Hallo.

    Dürfte doch mit Klammerung gehen, oder?

    "SELECT * FROM issue WHERE DateEnter = '$DateEnter' and StateID = '$status' and CommiteeID = '$commitee' and ( OriginatorID = '$mitarbeiter' OR Assign='$mitarbeiter' )";

    Grüße aus Würzburg
    Julian

    1. Hallo.

      Dürfte doch mit Klammerung gehen, oder?

      "SELECT * FROM issue WHERE DateEnter = '$DateEnter' and StateID = '$status' and CommiteeID = '$commitee' and ( OriginatorID = '$mitarbeiter' OR Assign='$mitarbeiter' )";

      Grüße aus Würzburg
      Julian

      Das geht leider so nicht. hat jemand noch ne bessere idee

      1. Hallo,

        "SELECT * FROM issue WHERE DateEnter = '$DateEnter' and StateID = '$status' and CommiteeID = '$commitee' and ( OriginatorID = '$mitarbeiter' OR Assign='$mitarbeiter' )";

        Das geht leider so nicht. hat jemand noch ne bessere idee

        Da gibt's keine bessere Idee, denn wenn Dein Ausgangsposting den Tatsachen entspricht, müßte das die Lösung sein (allfällige Tippfehler jetzt einmal ausgenommen).
        Was passiert, wenn DU Dieses Statement ausführst?
        Welche Rückmeldung erhältst Du von der Datenbank?
        Tritt ein Fehler auf, wenn ja welcher?
        Oder kommen keine Daten, wenn ja, hast Du kontrolliert, welche Bedingung in der where-Klausel dies verursacht?

        Probier dieses Statement einmal in einem SQL-Tool mit fixen Werten aus, bzw. Protokolliere einmal das abgesetzte Statement _nach_ Variablensubstitution aus.

        Kurz, betreibe ein Debugging!

        Grüße
          Klaus

  2. Hi Stefan

    "SELECT * FROM issue WHERE DateEnter = '$DateEnter' and StateID = '$status' and CommiteeID = '$commitee' and OriginatorID = '$mitarbeiter'";

    Das ist meine Abfrage, die funktioniert auch. Allerdings habe ich noch eine Spalte "Assign" in meiner tabelle. Nun sollen alle angezeigt werden wo
    DateEnter = '$DateEnter' und
    StateID = '$status' und
    CommiteeID = '$commitee' und
    OriginatorID = '$mitarbeiter'

    oder

    DateEnter = '$DateEnter' und
    StateID = '$status' und
    CommiteeID = '$commitee' und
    Assign = '$mitarbeiter' ist.

    wie mach ich das.

    Ganz genau so wie du schreibst:

    Select * <- Pfui, gib die Felder an
      from issue
      where DateEnter  = '$DateEnter'
        and StateID    = '$status'
        and CommiteeID = '$commitee'
        and (OriginatorID = '$mitarbeiter'
             or Assign = '$mitarbeiter')

    Gruss Daniela