Announcement

Collapse
No announcement yet.

Parameter in Where Klausel

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Parameter in Where Klausel

    Guten Tag,
    ich habe hier eine Frage wo ich selbst nicht weiter komme.
    Folgendes:
    Ich will eine parametrisierte Query verwenden zur Dublettensuche.
    Beispiel:
    SELECT
    M.ID,
    COALESCE(M.NACHNAME, '') AS NACHNAME,
    COALESCE(M.VORNAME, '') AS VORNAME,
    M.PERSONALNUMMER,
    A.PLZ,
    A.ORT,
    A.STRASSE,
    A.LAND,
    V.TELEFON1,
    V.TELEFAX1,
    V.EMAIL,
    V.MOBIL,
    F_GSOUNDEX(COALESCE(M.NACHNAME, '')) AS S_NACHNAME,
    F_GSOUNDEX(COALESCE(M.VORNAME, '')) AS S_VORNAME,
    F_GSOUNDEX(A.ORT) AS S_ORT,
    F_GSOUNDEX(A.STRASSE) AS S_STRASSE,
    F_GSOUNDEX(A.LAND) AS S_LAND,
    M.BESCHAEFTIGUNGSBEGINN,
    M.BESCHAEFTIGUNGSENDE,
    M.STATUS,
    FROM MITARBEITER M
    LEFT OUTER JOIN ADRESSEN A ON (A.ID = M.ADRESSEN_ID)
    WHERE
    F_STRINGLENGTH(:VORNAME) > 0 AND M.VORNAME = :VORNAME
    AND
    F_STRINGLENGTH(:NACHNAME) > 0 AND M.NACHNAME = :NACHNAME
    AND
    F_STRINGLENGTH(:STRASSE) > 0 AND A.STRASSE = :STRASSE
    ...usw...

    Ich möchte nun, dass wenn die Länge eines Parameters gefüllt ist diesen auch verwendet oder auch nicht.
    Hat das jemand schon einmal gemacht????

    Danke für die Hilfe
    Danke Torsten

  • #2
    Hallo,
    Originally posted by Tossi65 View Post
    ...
    Hat das jemand schon einmal gemacht????
    Ja, sicher!

    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      Hallo,
      Originally posted by Tossi65 View Post
      ...Ich möchte nun, dass wenn die Länge eines Parameters gefüllt ist diesen auch verwendet oder auch nicht.
      Dafür ist deine Logik jedoch falsch!
      [highlight=sql]
      ...
      AND
      F_STRINGLENGTH(:STRASSE) > 0 AND A.STRASSE = :STRASSE
      [/highlight]
      sollte ersetzt werden duch:
      [highlight=sql]...
      AND
      (F_STRINGLENGTH(:STRASSE) = 0 OR A.STRASSE = :STRASSE)
      [/highlight]

      Gruß Falk
      Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

      Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

      Comment

      Working...
      X