Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit Abfrage von Mitarbeitern und Projekte

Einklappen

Neue Werbung 2019

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

  • Problem mit Abfrage von Mitarbeitern und Projekte

    Hallo,

    ich habe ein Problem mit einer SQL-Anweisung und komme leider nicht weiter (
    Ich habe folgende Tabellen:



    - Tabelle mit Mitarbeiter und Ihrnen Abteilungen

    Personal-Nr. | Name | Vorname | Abteilung
    328773 | Mustermann | Max | CET
    567776 | Betemann | Otto | VER
    ...



    - Tabelle mit Projekten und Personal-Nr.

    Projekt-Nr.| Personal-Nr. | Titel
    ID-2018-00001 | 328773 | Projekt A
    ID-2018-00012 | 567776 | Projekt A
    ...

    Nun mein Problem:
    Ich möchten über eine SQL-Anweisung das gezählt wird wieviele Mitarbeiter sich in einer Fachabteilung befinden
    und anschließend wisviel Prozent davon in 2018 ein Projekt erstellt haben.
    Hinweis: Das Jahr kommt aus der Projekt-Nr....


    Nun benötige ich eine Ergebnis-Tabelle mit folgenden Inhalt:

    Abteilung | Anzahl der Mitarbeiter | Prozenzsatz
    CTE | 102 | 10%


    Kannst Du mir viellecht weiterhelfen?

    Gruß

    DK System

  • #2
    Wie ist dein Ansatz? Was hast du selbst schon versucht? (Oder soll das ein Job-Angebot werden, dann bitte um Info, kann ich es verschieben.)

    Sonst mal als Tipp: Fang mal mit einem einfachen JOIN an. http://www.peterkropff.de/site/mysql...right_join.htm

    The string "()()" is not palindrom but the String "())(" is.

    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
    PHP.de Wissenssammlung | Kein Support per PN

    Kommentar


    • #3
      Müssten zur Normalisierung nicht streng genommen die Abteilungen mit ihren Bezeichnungen aus der Tabelle Mitarbeiter raus und in eine eigene Tabelle, ebenso die Projekttitel aus der Tabelle Zuordnung Personal und Projekte (wobei man davon ausgehen kann, dass die Projekttitel in der Tabelle aus der die Projekt-IDs kommen, stehen müssten)?

      Kommentar


      • #4
        Aktuell habe ich folgende Abfrage...

        Code:
        SELECT
        COUNT(DISTINCT persnr) AS Anzahl,
        COUNT(DISTINCT projekte_persnr) AS umgesetzt,
        standort,
        abteilung ,
        Round((100/COUNT(DISTINCT persnr)*COUNT(DISTINCT projekte_persnr)),1) AS ergebnis
        FROM id_mitarbeiter
        LEFT JOIN bpdb_projekte ON id_mitarbeiter.persnr = bpdb_projekte.projekte_persnr
        WHERE projekte_id LIKE "%2018%

        Kommentar


        • #5
          Das erhofte Ergebniss :

          Abteilung | Anzahl der Mitarbeiter | Prozenzsatz
          CTE | 102 | 10%
          ist komplett Projekt unabhängig, oder nicht ?

          Kommentar


          • #6
            Hallo,

            ich habe hier eine Lösung gefunden,
            jetzt habe ich nur noch das Problem, )

            Ich müsste noch die Spalte mit dem %-Satz generieren:

            Kannst du mir hier helfen?
            Er zeigt mir zwar ein Ergebnis aber das stimmt nicht

            PHP-Code:
            SELECT
            SUM
            (CASE
            WHEN projekte_id LIKE "%2018%" THEN 1
            ELSE 0
            END
            ) AS projekt,

            abteilung,
            COUNT(id_mitarbeiter.persnr) AS Mitarbieter,

            Round((100/COUNT(DISTINCT persnr)*COUNT(DISTINCT projekte_persnr)),1) AS ergebnis

            FROM bpdb_projekte
            LEFT JOIN id_mitarbeiter ON id_mitarbeiter
            .persnr bpdb_projekte.projekte_persnr
            WHERE standort
            ='DC' AND eintritt '90' GROUP BY abteilung 
            Gruß

            DK System

            Kommentar


            • #7
              Ich weiss immer noch nicht was die Projecte da sollen,
              hier ein Link für dich::
              https://de.wikipedia.org/wiki/Prozent

              und setze bitte den code wieder in Code Tags


              Kommentar


              • #8
                Hallo,

                wie kann ich unter mySQL mit Alias rechnen?

                Aktuelle Berechnung:
                PHP-Code:

                Round
                ((100/COUNT(DISTINCT persnr)*COUNT(DISTINCT projekte_persnr)),1) AS ergebnis 
                Sollte so sein(Mitarbeiter und Projekt sind Alias)
                leider funktioniert die Berechnung so nicht:

                PHP-Code:

                Round
                ((100/Mitarbeiter)*Projekt)),1) AS ergebnis 
                Gruß

                DK System

                Kommentar


                • #9
                  Wie kann ich mit Alias rechnen?
                  Gar nicht.
                  Du kannst Dir Zwichenergebnisse in CTE zusammenbauen und dann weiterverwenden oder Statements verschachteln und dann in der nächst höheren Ebene die Ergebnisse verwenden.

                  Kommentar

                  Lädt...
                  X