Ankündigung

Einklappen
Keine Ankündigung bisher.

SQL Cracks hier?

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

    SQL Cracks hier?

    Frage von mir an Euch! :)

    Eine Datenbank soll realisiert werden, zur Klausurenverwaltung an einer Hochschule. Läuft bislang sehr gut, bis auf eine Tatsache:
    Bei den bislang geschrieben/bestanden Klausuren muss eine Liste erstellt werden, mit den bisherigen Noten.
    Aussehen soll es ungefähr so:

    Fach - Note - Versuch
    Mathe - 5,0 - 1
    Mathe - 5,0 - 2
    Mathe - 4,0 - 3

    Ist das in SQL mit der COUNT-Funktion realisierbar?
    Oder muss man doch auf VBA umsteigen?
    Vielen Dank für eure Infos! :)

    #2
    oO
    Woher sollen wir das wissen wenn wir nicht wissen wie die Quelle aussieht, also der Tabelleninhalt bzw. die Felder -.-'


    €:
    Mit SQL ist es möglich sofern die "Versuche" z.B. mit einem Zeitstempel versehen sind.

    SELECT Feld1, Feld2, Feld3, ... FROM DeineTabelle ORDER BY ZeitStempel DESC

    Somit werden alle Felder die du brauchst aus der Tabelle sortiert nach dem Zeitstempel ausgegeben, die "älteste" zuerst, da du ja den 1. Versuch vor dem letzten hast ;)
    Klingt logisch?

    €²:
    Achja und jenachdem wer geschrieben hat musst du natürlich hinter ORDER BY noch ein AND UserID oder UserName machen, wie auch immer die Person in der Tabelle abgelegt ist.

    €³:
    Quasi so:

    SELECT Feld1, Feld2, Feld3, ... FROM DeineTabelle ORDER BY Fach AND ZeitStempel DESC AND UserName

    Kommentar


      #3
      Du brauchst noch eine Userid, dann kannst du die Anzahl der Versuche pro User ID mit COUNT realisieren.
      Wenn du noch eine 2. Tabelle hernimmst (ID, USERNAME), kannst du mithilfe von JOIns direkt anhand des Namens Leute suchen

      Kommentar


        #4
        Weitere Daten wären noch
        Matrikel-Nr, also quasi die "ID"
        Fach-Nr, die "ID zum Fach"

        Bislang habe ich es nur so hinbekommen, dass angezeigt wird:

        mathe, Versuch 2, Note 5,0
        mathe, Versuch 1, Note 4,0

        Zeitstempel ist das Semester, aber die Daten müssen nochmal neu realisiert werden, da er WS und SS nach dem ABC ordnet.
        Liegt es also "nur" am Semester, dass er es so ordnet?

        Kommentar


          #5
          naja nach SS und WS zu ordnern ist doch mist, wenn dann SS09, WS09 oder so.

          Hast ja nachm SS und nem WS wieder n SS

          Kommentar


            #6
            Poste doch mal das Datenbankschema

            Kommentar


              #7
              MurkZ.de postete
              naja nach SS und WS zu ordnern ist doch mist, wenn dann SS09, WS09 oder so.

              Hast ja nachm SS und nem WS wieder n SS
              Ja, das ist klar!
              Es soll halt jetzt so werden:
              1 - WS 08/09
              2 - SS 09
              3 - WS 09/10
              usw...

              vorher waren die Ziffern davor nicht da.
              Die Semester wurden quasi nur als Drop-Down-Feld bei der Prüfung angezeigt.

              Kommentar


                #8
                Du solltest dir COUNT() in Verbindung mit GROUP BY ansehen. Ich denke da kommst du deinem gewünschten Ergebnis näher.

                SELECT fach, note, COUNT(*) AS versuche FROM klausur GROUP BY schueler

                /E: Ich glaube ich habe die Frage nicht richtig verstanden?!

                Kommentar


                  #9
                  Das glaube ich auch ;)

                  Er will nicht die Anzahl der Versuche im bestimmten Fach haben sondern eine Ausgabe wie im 1. Post beschrieben.

                  Kommentar


                    #10
                    Was ich eig. nur wissen möchte:
                    Ist so eine Ausgabe wie im 1. Post mit SQL realisierbar?
                    Oder muss ich es mit VBA versuchen?

                    Kommentar


                      #11
                      9. klasse oder was?...

                      Kommentar


                        #12
                        dude postete
                        Versuch 1, 2, 3, ...
                        Waldorfschule?

                        Kommentar


                          #13
                          verstehe die frage nicht. einfach ne id mit primärschlüssel in die tabelle reinknallen und fertig. um die 3. normalform aber zu gewährleisten würd ich z.b. die fächer noch in ne extratablle mit fachnamen und fachID und in die vom te beschrieben tabelle dann nur noch die fachID eintragen.

                          Kommentar


                            #14
                            Im geht es wohl nur um die Nummerierung, richtig helfen kann man aber mit einer Phantomdatenbank nicht.

                            Kommentar


                              #15
                              Also, drei Tabellen habe ich:

                              Fach
                              Fach-Nr
                              Fachname
                              usw

                              Prüfung
                              Prüfungs-Nr
                              Fach-Nr
                              Semester

                              Teilnahme
                              Prüfungs-Nr
                              Matrikel-Nr
                              Note

                              Es soll eine Abfrage erstellt werden, bei der die Versuche mit Note aufgelistet werden und die Anzahl des Versuchs. Bei meinen Versuchen wird entweder alles als 1. Versuch angezeigt, oder die 5,0er werden in eine Gruppe zusammen gefasst. Wenn ich GROUP BY ändern möchte, läuft die Abfrage nicht mehr...

                              Kommentar

                              Lädt...
                              X