Announcement

Collapse
No announcement yet.

Select Abfrage mit zwei Zeiträumen

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

  • Select Abfrage mit zwei Zeiträumen

    Hallo liebe Community, ich bin neu hier und hätte direkt eine kleine Frage, bei der ich hoffe dass Ihr mir helfen könnt.

    Undzwar geht es um folgende Frage:

    /*Der Pr¨ufungsausschussvorsitzende m¨ochte f¨ur einen Pr¨ufungszeitraum ¨uber alle Pr¨ufungen
    gemeinsam die Verteilung der Zensuren wissen, d.h. wie viele Teilnehmer eine 1.0, 1.3,. . .
    erhalten haben. In jedem Jahr gitb es zwei Pr¨ufungszeitr¨aume, f¨ur 2008 z.B. vom 1.2.2008
    bis zum 30.3.2008 bzw. vom 1.7.2008 bis zum 30.8.2008.
    Weiter m¨ochte er wissen, wie viele Teilnehmer in einem Zeitraum mit einer Note ¨uber dem
    gesamten Zensurendurchschnitt abgeschlossen haben.*/


    Meine Lösung dazu ist folgende:

    Code:
    select  Note, count(Note) "Anzahl der Teilnehmer", case
      when Note <(select avg(Note) from Pruefung) then 'Besser als Durchschnitt'
      else 'Schlechter bzw. glech wie der Durchschnitt'
      end "Durchschnitt"
      from Pruefung
      where Datum between '01.02.2007' and '15.02.2007'
      or Datum between '01.02.2008' and '15.02.2008'
      group by Note
      order by 1;
    Ich habe hier die Zeitrume einfach geändert, da ich keine geeigneten Datensätze in der DB habe, die denen in der Aufgabe zutreffen würden.

    Würdet Ihr die Aufgabe genauso wie ich Interpretieren oder hättet Ihr eine andere Abfrage gemacht? Ich bin mir halt im unklaren ob die zwei Zeiträume auch in irgendeiner Art und Weise in der Skriptausgabe gekennzeichnet werden müssen?

    Meine Ausgabe sieht wie folgt aus:

    Code:
    NOTE                   Anzahl der Teilnehmer  Durchschnitt                               
    ---------------------- ---------------------- ------------------------------------------ 
    1                                 1                              Besser als Durchschnitt                    
    1,3                              1                              Besser als Durchschnitt                    
    2,3                             1                              Besser als Durchschnitt                    
    3                                1                                Besser als Durchschnitt                    
    5                                2                            Schlechter bzw. glech wie der Durchschnitt
    DIe Inserts dazu um die Ausgabe nachzuvollziehen:

    Code:
    insert into Pruefung values
      (   1, 3052, 'WS2006', '01-02-2006', 5.0);
    insert into Pruefung values
      (   2, 3052, 'WS2007', '01-02-2007', 3.0);
    insert into Pruefung values
      (4711, 3052, 'WS2006', '10-02-2007', 1.0);
    insert into Pruefung values
      (4712, 3052, 'WS2006', '10-02-2007', 2.3);
    insert into Pruefung values
      (   1, 3052, 'WS2006', '10-02-2007', 5.0);
    insert into Pruefung values
      (   1, 3052, 'WS2007', '03-02-2008', 5.0);
    insert into Pruefung values
      (4711, 3844, 'WS2008', '03-02-2008', 1.3);
    Nun wie Ihr sehen könnt ist die Ausgabe soweit richtig, die Noten werden zusammengefasst und auch die jeweiligen Zeiträume berücksichtig, allerdings weiss ich nun nicht wie die Frage zu interpretieren ist, ob man nun anzeigen soll in welchem Zeitraum man sich befindet oder die Ausgabe die ich erzeugt habe reicht? Ich weiss es wirklich nicht.

    Über Antworten würde ich mich freuen!

  • #2
    Hallo,
    tja das ist dass Problem von Prüfungsaufgaben.
    Wäre der "Prüfungsausschußvorsitzende"mein Auftraggeber, würde ich ihn um Präzisierung des Pflichtenheftes bitten. Es ist auch nicht ganz klar, ob es Prüfungen ausserhalb der beiden Zeiten geben kann und wie mit diesen zu Verfahren ist.
    Nach meiner Auffassung ist die Aufgabenstellung nicht eindeutig und bedarf der Erläuterung.

    Gruss 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
      Hehe, ja die sind schon zu unspezifisch ich weiss....

      EIne Frage hätte ich noch, und zar hab ich das in der Aufgabe total übersehen, er möchte alle die Ausgegeben haben die eine note über dem durchschnitt liegen nicht die die allgemein über dem durchschnitt liegen, wie geht dass en? Ich hing da jetzt schon sehr lange dran, aber mir fällt einfach nichts ein wie man das regeln soll.....

      Comment

      Working...
      X