0

Select auf Haupttabelle where Untertabelle bestimmte Werte enthält

Hi,

in meinem Dashboard kann ich eine "Person" auswählen. In einer Ansicht sollen jetzt "Notizen" angezeigt werden die mit der "Person" verknüpft sind. Die Verknüpfung von "Notizen" und "Person" ist über eine Untertabelle von "Notizen" hinterlegt. 

Ich möchte das Select über "Notizen" realisieren nicht auf die verknüpfte Tabelle.

Mein Versuch klappt nicht:

 

    select Notiz where Teilnehmer.Person = myPerson

Über Hinweise wäre ich dankbar :D

6 Antworten

null
    • Torsten_Stang.1
    • vor 2 Jahren
    • Gemeldet - anzeigen

    wie kannst Du eine "Person" auswählen? Dynamische Auswahl?

    "Teilnehmer" ist die n:m Tabelle zwischen "Person" und "Notizen" (im Skript hast Du sie 'Notiz' genannt)?

    • dbbausnnd
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hi. Ich habe im Dashboard einfach eine ComboBox von Personen hinterlegt. Die Selektierte Person nutze ich zur Abfrage. Korrekt, "Teilnehmer" ist das verknüpfte Feld von der Tabelle "Notiz" zur n:m Tabelle "Notiz_Person". 

    • dbbausnnd
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Warum ich manchmal so kompliziert denke weiß ich auch nicht.....

     

    let notizPerson := (select Notiz_Person where Person = myPerson);
    notizPerson.Notizen

     

    Danke für die Hilfe :D

    • dbbausnnd
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Ok erweiterte Frage:

    Mit einem Element klappt das ganz gut. In meinem Dashboard habe ich aber weitere Filtermöglichkeiten. Wenn also eine Person selektiert ist, dann sollen die Notizen die mit den Personen verknüpft werden angezeigt werden (n:m). Wird ein Topic ausgewählt, dann sollen alle Notizen die mit dem Topic verknüpft sind angezeigt (ebenfalls n:m).

    let myPerson := MyPerson;
    let myTopic := Topic;
    if MyPerson != null then
        (select Notiz_Person where Person = myPerson).Notizen
    else
        if myTopic = null then
            (select Notiz_Topic where Topic = myTopic).Notizen
        end
    end 

     

    Noch als Zusatz:

    - Wird eine Person gewählt, dann wird die Topic Selektion zurückgesetzt

    - Wird ein Topic gewähhlt, dann wird die Person Selektion zurückgesetzt.

    • dbbausnnd
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Es ist einfach zu früh....

    • Torsten_Stang.1
    • vor 2 Jahren
    • Gemeldet - anzeigen
    dbbausnnd said:
    - Wird eine Person gewählt, dann wird die Topic Selektion zurückgesetzt
    - Wird ein Topic gewähhlt, dann wird die Person Selektion zurückgesetzt.

     da würde ich den Feldern, in denen Du Person bzw. Topic auswählst, einen Änderungstrigger verpassen, bei Person z.B.

    if Person then Topic := null end

    und vice versa bei Topic

    if Topic then Person := null end

    dann sollte für die Ansicht genügen:

    let myPerson := MyPerson;
    let myTopic := Topic;
    if MyPerson != null then
        (select Notiz_Person where Person = myPerson).Notizen
    end;
    if myTopic = null then
        (select Notiz_Topic where Topic = myTopic).Notizen
    end
    

Content aside

  • Status Answered
  • vor 2 JahrenZuletzt aktiv
  • 6Antworten
  • 158Ansichten
  • 2 Folge bereits