collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 51
  • Punkt Versteckte: 1
  • Punkt Mitglieder: 2
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 13800
  • stats Beiträge insgesamt: 63497
  • stats Themen insgesamt: 8604
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 16
  • stats Am meisten online: 415

Autor Thema: Mehrere Ergebnisse aus Unterabfrage zusammenfassen  (Gelesen 401 mal)

Offline noah

  • Newbie
  • Beiträge: 10
Mehrere Ergebnisse aus Unterabfrage zusammenfassen
« am: April 28, 2017, 17:13:46 »
Hallo,
ich stehe vor folgendem Problem und hoffe, dass mir hier jemand da weiterhelfen kann.
Ich habe eine Datenbank mit ca. 12 Tabellen, aus der ich die Daten per SQL hole und gefiltert in einem ListView anzeige. Die Spalten des Listview sind u.a. Name, Geschlecht, Bemerkungen, und auch Qualifikationen. Die Qualifikationen sind in zwei Tabellen gespeichert. In einer Tabelle (tblQualifikationen)  stehen alle möglichen Qualifikationen, und in der anderen (tblQualifikationenMA) quasi die Verknüpfung mit den Namen...

Tabelle tblPersonal:
ID     |     Name     |     Vorname

Tabelle tblQualifikationen:
ID     |     Qualifikation   

Tabelle tblQualifikationenMA
MAID |     QUALID


In der Tabelle tblQualifikationen sind im Moment ca. 20 Qualifikationen eingetragen, was sich aber auch noch ändern kann/wird. Die SQL-Syntax zum lesen der Daten sieht in etwa so aus:
SELECT P.Nachname + ', ' + P.Vorname AS PNAME FROM tblPersonal ...
Jetzt möchte ich zusätzlich zu dem Namen alle für den Mitarbeiter eingetragenen Qualifikationen in eine Spalte des ListView schreiben, dies versuche ich durch eine Unterabfrage hinzubekommen:
SELECT P.ID AS PID, P.Nachname + ', ' + P.Vorname AS PNAME,
(SELECT Q.QUALIFIKATION FROM tblQualifikationen Q INNER JOIN tblQualifikationenMA M WHERE M.MAID=P.ID) AS QUALIS
FROM tblPersonal WHERE ... ORDER BY ...
Da bekomme ich (logischerweise) den Fehler angezeigt, dass die Unterabfrage nur ein Ergebnis zurückgeben kann. Gibt es eine Möglichkeit, die Ergebnisse einer Abfrage direkt in SQL als ein String, z.B. kommagetrennt auszugeben?

Vielen Dank schon mal im Voraus...
 
 

Offline Lachtaube

  • Access-Meister
  • ***
  • Beiträge: 851
Re: Mehrere Ergebnisse aus Unterabfrage zusammenfassen
« Antwort #1 am: April 28, 2017, 19:15:50 »
Grüße von der (⌒▽⌒)
 

Offline noah

  • Newbie
  • Beiträge: 10
Re: Mehrere Ergebnisse aus Unterabfrage zusammenfassen
« Antwort #2 am: Mai 19, 2017, 11:12:33 »
So, da bin ich wieder. Sorry, dass ich mich erst jetzt wieder melde, aber ich bin in den letzten Wochen nicht dazu gekommen, an dem Script weiter zu arbeiten.

So eine ähnliche Lösung habe ich hier auch gefunden, kriege sie aber nicht eingebaut.
Ich mache das jetzt mit einer 'Notlösung'. Die Daten, die ich in der Datenbank speichere sind aktuell noch in einer Excel-Tabelle gespeichert. Für den Import habe ich ein Script geschrieben, dass mir die Daten aus der einen Excel-Tabelle in ganz viele Access-Tabellen schreibt, so u.a. die vorhandenen Qualifikationen in die erwähnte Tabelle. Ich habe jetzt zusätzlich eine weitere Tabelle erstellt, in der die vorhandenen Qualifikationen als String eingetragen werden. So brauche ich für mein Listview nur die Daten aus der neuen Tabelle abrufen und habe den String vorliegen, wie ich ihn brauche. Wenn ich einen Datensatz bearbeite, muss anschließend nur noch ebenfalls der String neu geschrieben werden, was aber ja eine Kleinigkeit ist.

Irgendwann greife ich das Thema vielleicht noch einmal auf, aber eben nicht jetzt...
Vielen Dank trotzdem für die Hilfe.