Ansicht Problem
Hallo!
Trotz Recherche und Ausprobieren komme ich leider nicht weiter.
Ich habe 3 Tabellen:
Trainings
Mentoren
Teilnehmer
Ein Mentor kann mehrere Teilnehmer haben. Aber ein Teilnehmer nur einen Mentor.
Nun habe ich z.B als Zuordnung:
Mentor A : Otto, Walter, Horst
Mentor B: Frank, Silke
Ich möchte nun in einer Ansicht innerhalb der Tabelle "Trainings" eine Tabelle anzeigen, die in Spalte 1 die Liste der Mentoren und daneben in Spalte 2 aufgelistet (per Komma getrennt) die zugeordneten Teilnehmer hat. Also im Prinzip genauso wie oben fett gedruckt geschrieben.
Mir ist bewusst, dass ich da irgendwie mit "unique" hantieren muss, damit ich bei einer Select Abfrage der Mentoren nicht 3 Zeilen mit Mentor A und 2x Mentor B bekomme, sondern nur 2 Zeilen, denn es sind ja nur 2 unterschiedliche Mentoren. Auch die Auflistung der Teilnehmer in Spalte 2 will mir nicht gelingen.
Hat jemand eine Idee?
Danke!
2 Antworten
-
Wenn Mentor mit Teilnehmer wie 1:N verknüpft wäre, dann geht es einfach: Ansicht, select Teilnehmer und für die Spalten: 1. Mentor, 2. Teilnehmer >Name>Auflisten von Name. Wenn sie nicht verknüpft sind, dann ist es etwas komplizierter.
Ansicht
1. Select in der Ansichtlet isolate := unique((select Teilnehmer).MentorName); let minNr := for i in isolate do min(for x in (select Teilnehmer)[MentorName = i] do x.number(Nr) end) end; for y in minNr do record(Teilnehmer,y) end
2. Feld1: Mentorname
3. Feld2: Funktionsfeld mit
let mentor := MentorName; concat(for i in (select Teilnehmer)[MentorName = mentor] do i.TeilnehmerName end)
Oder, müßte für jeden Fall gehen, in einem Funktionsfeld:
let mentor := (select Teilnehmer).MentorName; join(unique(for j in mentor do j + " - " + concat(for i in (select Teilnehmer)[MentorName = j] do i.TeilnehmerName end) end), " ")
-
Phänomenal! Danke. Da wär ich nicht drauf gekommen! Das Wochenende ist gerettet. :)
Content aside
- vor 2 JahrenZuletzt aktiv
- 2Antworten
- 51Ansichten
-
2
Folge bereits