1. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

2 JOINS mit GROUP BY, HILFE

Dieses Thema im Forum "Microsoft SQL Server" wurde erstellt von valentinowitch, 28 Januar 2019.

  1. valentinowitch

    valentinowitch Neuer Benutzer

    Hallo zusammen,

    habe folgendes Problem:
    Ich habe 3 Tabellen:
    1) Firmendaten (ID etc.)
    2) Parent Ticket ID (= Werden erstellt, wenn Aufträge erteilt werden)
    3) SubTickets (Können Details enthalten, z.B. Workshops etc.)

    Eine Firma kann MEHRERE Parent Ticket IDs haben, die Parent Ticket IDs sind eindeutig
    Zunächst möchte ich 1) und 2) joinen (einfach), sieht vereinfacht so aus:

    Firm ID | Parent Ticket ID
    123 | 1
    123 | 2
    123 | 3
    ...

    als nächstes möchte ich die Anzahl an SubTickets pro Firma haben, d.h. mit GROUP BY:

    Firm ID | Parent Ticket ID | Subtickets
    123 | 1 | 4
    123 | 2 | 4
    123 | 3 | 4
    444 | 4 | 3
    ...


    Code funktioniert leider nicht:

    SELECT A.company_id, B.parent_ticket_id, [...], COUNT(C.ticket_id) AS numberOFsubtickets
    FROM A JOIN B ON A.ticket_id = B.ticket_id JOIN C.company_id ON A = C.company_id
    GROUP BY A.company_id




    kann mir jmd. bitte helfen?
     
  2. akretschmer

    akretschmer Datenbank-Guru

    Du hast 2 + [...] nicht aggregierte Spalten und eine aggregierte Spalte im Select, aber nur eine Spalte im GROUP BY. Die Fehlermeldung, die offenbar geheim ist, wird dies auch besagen.
     
  3. ukulele

    ukulele Datenbank-Guru

    Du willst ja auch nur einmal aggregieren wenn ich das richtig verstehe, sollte also einfach sein.
    Code:
    SELECT A.company_id, B.parent_ticket_id, [...], COUNT(C.ticket_id) AS numberOFsubtickets
    FROM A JOIN B ON A.ticket_id = B.ticket_id JOIN C.company_id ON A = C.company_id
    GROUP BY A.company_id, B.parent_ticket_id, [...]
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden