Komplexe SQL Anweisung, bin überfragt

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

  • Komplexe SQL Anweisung, bin überfragt

    Hallo,

    ich benötige eine recht komplexe MS-SQL Abfrage, bei der ich ziemlich ratlos bin.
    Wir verwenden hier das Ticketing System Remedy. Einige der für uns relevanten Daten importieren wir in eine Taballe.
    Hier die wichtigsten Felder der DB:

    KundenNummer | Priorität | ErstellDatum

    Die recht komplexe Abfrage soll nur Ergebnisse liefern, wenn
    1. Mindestens 2 Tickets gefunden wurden, die mit der Priorität 0 oder 1 belegt sind und mind. 1 Ticket davon zwischen 8 und 12 Tage alt ist ODER
    2. 1 Ticket mit der Priorität 0 oder 1 gefunden wurde, dass aber länger als 12 Tage offen ist ODER
    3. Mindestens 3 Priorität 0 oder 1 Tickets gefunden wurden ODER
    4. Mindestens 5 Priorität 2 Tickets vorhanden sind und mind. 1 Ticket davon länger als 30 Tage offen ist ODER
    5. die Summe aller Tickets, egal welche Priorität die Anzahl 15 übersteigt.

    Kann man das alles überhaupt in einer Abfrage machen? Soweit ich weiß nicht.

    Zum Beispiel kann ich ja über HAVING Count(KundenNummer ) bestimmen, wie viele Treffer zurückgegeben werden sollen. Das bringt mir also nichts, da ich je nach Anforderung mal nur 2, mal nur 1 Ticket brauche. Punkt 1 ist schon ziemlich mies, da die zeitliche Einschränkung nur auf eines der beiden gefundenen Tickets zutreffen muss. Mir fällt einfach nicht ein, wie man mit den SQL Anweisungen solche Einschränkungen machen kann.

    Hat Ihr vielleicht jemand eine Idee, um mir auf die Sprünge zu helfen?

    Danke und Gruß

  • #2
    Leider konnte ich das Problem nicht lösen. Da wir hie rmit ColdFusion und MS SQL arbeiten, habe ich mich dazu entschlossen die notwendigen Abfragen in CF zu programmieren. Ist zwar arg lang und sicherlich umständlich, aber es muss halt dringend laufen.

    Danke an all, die sich die Zeit genommen haben, diesen Beitrag durchzulesen.

    Beste Grüße,
    Alex

    Kommentar

    Lädt...
    X