0

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

null
    • mirko3
    • vor 2 Jahren
    • Gemeldet - anzeigen

    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 Ansicht

    let 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), "
    ")
    
    • SMI
    • SMI
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Phänomenal! Danke. Da wär ich nicht drauf gekommen! Das Wochenende ist gerettet. :)