Announcement

Collapse
No announcement yet.

Check SQL

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

  • Check SQL

    Ciao zusammen,

    ich muss gestehen, SQL-technisch bin ich nicht wirklich fit

    Folgende Situation:

    Ich habe eine View in der steht

    Tabelle Rang
    --------------------------------
    ABC 1
    DEF 1
    GHI 1
    JKL 1
    MNO 1


    Ich brauche ein Statement: Das mir ausgibt "ALLES OK" wenn alle 5 Tabellen in der View stehen und den Rang 1 haben.

    Sobald eine Tabelle NICHT aufgelistet ist soll es "problem" ausgeben.

    Eigentlich pipifax für profis.. aber komplex für newbies


    danke und gruss,
    Der Robert

  • #2
    Hallo und willkommen!

    So "pipifax" ist das nicht, weil mehrere Bedingungen zusammengefasst und hierarchisch ausgewertet werden müssen. Mir ist unklar, ob genau diese Werte in der Spalte "Tabellen" stehen und ob jeder Wert mehr als einmal auftreten kann. (Ein Name "Tabellen" für eine Spalte ist übrigens unglücklich gewählt, auch wenn es sich um eine View handelt.) Es sollte etwa so gehen:

    Schritt 1: Bedingung feststellen
    [highlight=sql]select count(*)
    from DieserView
    where Rang = 1[/highlight]
    Schritt 2: Bedingung auswerten
    [highlight=sql]select ( case count(*)
    when 5 then 'ALLES OK'
    else 'Problem' )
    from DieserView
    where Rang = 1[/highlight]
    Die genaue Formulierung von CASE hängt u.U. vom DBMS ab.

    Gruß Jürgen

    Comment


    • #3
      Hallo,
      Originally posted by DerRobert View Post
      ...Eigentlich pipifax für profis..
      Nein, kein pipifax! Aufgrund deiner unvollständigen Beschreibung eher "Glaskugelschauerei"!
      Sind es immer genau diese 5 Namen? Können auch andere Namen auftreten? Können Null-Werte vorkommen?
      Je nach Beantwortung dieser Fragen funktioniert der Lösungsansatz von Jürgen nämlich nicht.

      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


      • #4
        Ciao zusammen,

        @ Falk Ja, es sind immer nur 5 namen.... der Rang kann auch mal 2 sein.. aber es sollen nur diese 5 tabellennamen vorkommen.

        In der Realität sind das 5 Jobs die nacheinander laufen und 5 unterschiedliche Tabellen befüllen..

        Wenn eine davon nicht befüllt wird, taucht sie nicht in der View auf und es soll eine Warnung ausgegeben werden...

        Ist die Erklärung ausreichend?
        Zuletzt editiert von DerRobert; 16.04.2010, 14:30.

        Comment

        Working...
        X